Programming

MKMapView라는 클래스를 인스턴스화 할 수 없습니다.

procodes 2020. 6. 1. 21:06
반응형

MKMapView라는 클래스를 인스턴스화 할 수 없습니다.


내가 전에 한 것처럼 실제로 어리석은 짓을하고 있었을지도 모른다.

세부 사항보기에서 MKMapView를 추가하고 MapKit.framework를 프로젝트에 추가하고 / 등을 헤더에 추가 한 새 iPad 프로젝트를 작성했습니다. 프로젝트를 실행하고 SIGABRT를 얻으십시오.

**** catch되지 않은 예외 'NSInvalidUnarchiveOperationException'으로 인해 앱을 종료하는 이유 : 'MKMapView라는 클래스를 인스턴스화 할 수 없습니다'**

http://mithin.in/2009/06/22/using-iphone-sdk-mapkit-framework-a-tutorial/을 찾았 지만 말했듯이 이미 프레임 워크를 추가했습니다. 내가 무엇을 놓치고 있습니까?


나도 이것에 부딪 쳤지 만, 당신의 링크에서 2 단계의 지시에 따라 그것을 지나갈 수있었습니다 (감사합니다).

  1. MapKit 프레임 워크를 프로젝트에 추가하십시오. (컨트롤 + 클릭 프레임 워크 폴더-> 추가-> 기존 프레임 워크)

방금 MapKit.framework를 검색하여 프로젝트에 추가했는데 오류가 사라졌습니다.

아직지도 코드를 추가하지 않았지만 (IB에 MapViewDelegate가 연결되어 있지만) 지금까지는 제대로 작동합니다!


프로젝트를 클릭하여 프로젝트 설정을 가져 오십시오. 대상 아래에서 프로젝트를 클릭하고 상단 도구 모음 "빌드 단계"에서 선택하십시오. "라이브러리와 바이너리 연결"탭 아래에 프로젝트에 포함 된 프레임 워크 목록이 표시됩니다. "+"버튼을 클릭하고 표시된 목록에서 MapKit 라이브러리를 프로젝트에 추가하십시오.


Xcode 6.1의 경우 :

  • 프로젝트를 선택하십시오
  • 일반 탭에서 연결된 프레임 워크 및 라이브러리 (마지막)를 찾습니다.
  • + 버튼을 누릅니다
  • MapKit.framework 검색
  • 마지막으로 추가

쉬운 방법!

Xcode 버전 7.2 이상에서 작동

기능에서 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 : 경고 : 파일 /Users/peter/programming/iPhone/iNspector/MapKit.framework/MapKit을 무시하고 파일이 지원되지 않는 파일 형식으로 작성되었으며 링크 된 아키텍처가 아닙니다 (i386)

그런 다음 방금 iPhone을 연결하고 장치를 빌드하고 실행했는데지도가 작동했습니다.

따라서 MapKit 프레임 워크는 386 아키텍처에서 컴파일 할 수 없으며 장치가 필요합니다.


@futureshocked의 입력과 관련하여, 나는 또한

ID : 경고 : 파일 /blah.../MapKit을 무시하고 파일이 지원되지 않는 파일 형식으로 작성되었으며 링크 된 아키텍처가 아닙니다 (i386)

발행물.

** MapKit프레임 워크를 프로젝트에 추가 할 때 로컬 프로젝트 디렉토리에 프레임 워크를 복사하지 않았는지 확인하십시오 . 실수 로이 작업을 수행했으며 XCode에서 위의 오류가 발생했습니다. 그래서 나는 그것을 Finder의 프로젝트 디렉토리에서 제거하고 다시 컴파일했으며 모든 것이 다시 정상적이었습니다.

프로젝트에 프레임 워크가 없으면 답변에 설명 된대로 다시 연결하십시오 .

MapKit 시작에 대한 유용한 자습서를 찾았습니다.
http://www.youtube.com/watch?v=X-3jM24EIGM&feature=related


또한 배포 대상을 5.1로 변경 한 후에도 5.1 전화 (XC 4.5 포함)에 배포하려고 할 때이 오류가 발생했습니다. 휴대 전화에 여전히 Google지도가있어지도 업데이트가 표시되지 않는 것 같습니다. 휴대 전화의 OS를 업데이트 한 후 예외가 사라졌습니다.


빌드 단계에서 WebKit을 가져 오십시오. WebKit을 가져와야합니다.

참고 URL : https://stackoverflow.com/questions/3522066/could-not-instantiate-class-named-mkmapview

반응형