programing

이름이 MKMapView인 클래스를 인스턴스화할 수 없습니다.

newsource 2023. 6. 24. 09:14

이름이 MKMapView인 클래스를 인스턴스화할 수 없습니다.

전에도 그랬고 효과가 있었고 지금도 그랬듯이 여기서 정말 멍청한 짓을 하고 있을지도 모릅니다.

새 iPad 프로젝트 생성, 세부 정보 보기에서 MKMapView 추가, 프로젝트에 MapKit.framework 추가, 헤더에 속성/등 추가.프로젝트를 실행하고 SIGABRT로 이동합니다.

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

저는 http://mithin.in/2009/06/22/using-iphone-sdk-mapkit-framework-a-tutorial/ 을 찾았지만, 제가 말했듯이, 저는 이미 프레임워크를 추가했습니다.제가 무엇을 빠뜨리고 있나요?

저도 이것에 부딪혔지만, 당신의 링크에 있는 2단계의 지침을 따름으로써 극복할 수 있었습니다(참고로 감사합니다).

  1. 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 버튼을 확인하기만 하면 됩니다.

첨부된 스크린샷을 보내드립니다.건배!

enter image description here

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 업데이트 후 예외가 사라졌습니다.

빌드 단계에서 웹 키트를 가져오십시오.You need to import the WebKit

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