이름이 MKMapView인 클래스를 인스턴스화할 수 없습니다.
전에도 그랬고 효과가 있었고 지금도 그랬듯이 여기서 정말 멍청한 짓을 하고 있을지도 모릅니다.
새 iPad 프로젝트 생성, 세부 정보 보기에서 MKMapView 추가, 프로젝트에 MapKit.framework 추가, 헤더에 속성/등 추가.프로젝트를 실행하고 SIGABRT로 이동합니다.
****확인되지 않은 예외 'NSInvalidUnarchiveOperation'으로 인해 앱 종료예외', 이유: 'MKMapView'라는 클래스를 인스턴스화할 수 없습니다.**
저는 http://mithin.in/2009/06/22/using-iphone-sdk-mapkit-framework-a-tutorial/ 을 찾았지만, 제가 말했듯이, 저는 이미 프레임워크를 추가했습니다.제가 무엇을 빠뜨리고 있나요?
저도 이것에 부딪혔지만, 당신의 링크에 있는 2단계의 지침을 따름으로써 극복할 수 있었습니다(참고로 감사합니다).
- MapKit 프레임워크를 프로젝트에 추가합니다. (Control + Click Frameworks 폴더 -> Add -> Existing Frameworks )
방금 MapKit.framework를 검색해서 프로젝트에 추가했더니 오류가 사라졌습니다.
아직 지도 코드를 추가하지 않았지만(IBM에 MapViewDelegate가 연결되어 있음에도 불구하고), 현재까지는 잘 작동합니다!
프로젝트를 클릭하여 프로젝트 설정을 가져옵니다.대상에서 프로젝트를 클릭하고 상단 도구 모음 "빌드 단계"에서 선택합니다."라이브러리와 이진 연결" 탭에서 프로젝트에 포함된 프레임워크 목록을 볼 수 있습니다."+" 버튼을 클릭하고 표시된 목록에서 MapKit 라이브러리를 프로젝트에 추가합니다.
Xcode 6.1의 경우:
- 프로젝트 선택
- 일반 탭에서 Linked Frameworks and Libraries(연결된 프레임워크 및 라이브러리
- + 버튼을 누릅니다.
- MapKit.framework 검색
- 최종 추가
쉬운 방법!
Xcode 버전 7.2 이상에서 작동합니다.
기능에서 MAPS를 선택하면 자동으로 프레임워크가 프로젝트에 연결됩니다. 기능 -> 맵에서 MAPS 버튼을 확인하기만 하면 됩니다.
첨부된 스크린샷을 보내드립니다.건배!
xCode 4.2의 경우:
Click on your project name ->targets ->building Phase ->link binary with library
-> click on + sign ->select mapKit.framework ->click add
시뮬레이터를 구축하고 실행할 때 (이 게시물에 언급된 원래 메시지 위에) 다음과 같은 메시지가 표시된다는 것을 알게 되었습니다.
ld: warning: 파일 /Users/peter/programming/iPhone/iInspector/MapKit.framework/MapKit을 무시합니다. 링크되는 아키텍처가 아닌 지원되지 않는 파일 형식을 위해 파일이 빌드되었습니다(i386).
그런 다음 아이폰을 연결하고, 기기에서 빌드하고 실행하면 지도가 작동합니다.
그래서 MapKit 프레임워크는 386 아키텍처에서 컴파일할 수 없는 것 같습니다. 장치가 필요합니다.
@futureshocked의 입력과 관련하여, 저는 또한 우연히 발견했습니다.
ID: 경고: 파일 /blah 무시.../MapKit, 링크되는 아키텍처가 아닌 지원되지 않는 파일 형식을 위해 파일이 빌드되었습니다(i386).
쟁점.
***를MapKit
프레임워크를 프로젝트에 추가할 때 로컬 프로젝트 디렉토리에 추가할 수 있습니다.제가 실수로 이것을 했는데 XCode에서 위와 같은 오류가 발생했습니다.그래서 Finder의 프로젝트 디렉토리에서 제거하고 다시 컴파일을 해보니 모든 것이 정상으로 돌아왔습니다.
프로젝트에 Framework가 없는 경우 위의 답변에 따라 다시 연결합니다.
MapKit 시작에 대한 좋은 튜토리얼을 찾았습니다.
http://www.youtube.com/watch?v=X-3jM24EIGM&feature=://www.youtube.com/watch?v=X-3jM24EIGM&feature=related
배포 대상을 5.1로 변경한 후에도 5.1 전화기(XC 4.5 사용)에 배포하려고 할 때 이 오류가 발생했습니다.제 휴대폰에 구글 지도가 남아 있어서 지도 업데이트가 안 되는 것 같습니다.핸드폰 OS 업데이트 후 예외가 사라졌습니다.
언급URL : https://stackoverflow.com/questions/3522066/could-not-instantiate-class-named-mkmapview
'programing' 카테고리의 다른 글
git init를 두 번 실행하면 리포지토리가 초기화됩니까, 아니면 기존 repo가 다시 초기화됩니까? (0) | 2023.06.24 |
---|---|
데이터베이스 공급자 유형당 허용 가능한 최대 매개 변수 수는 몇 개입니까? (0) | 2023.06.24 |
EF4 - 선택한 저장 프로시저가 열을 반환하지 않습니다. (0) | 2023.06.24 |
IIS 7에서 하위 도메인을 설정하는 방법 (0) | 2023.06.24 |
유형 스크립트에서 콜백 함수 내의 '이것'에 액세스하는 방법은 무엇입니까? (0) | 2023.06.19 |