私は前にそれをやったので、ここで本当に愚かなことをしているかもしれませんが、それはうまくいきました...
新しいiPadプロジェクトを作成し、詳細ビューでMKMapViewを追加し、プロジェクトにMapKit.frameworkを追加し、ヘッダーにプロパティ/などを追加しました。プロジェクトを実行して、SIGABRTを取得します
****キャッチされない例外 'NSInvalidUnarchiveOperationException'によるアプリの終了、理由: 'MKMapViewという名前のクラスをインスタンス化できませんでした' **
私は http://mithin.in/2009/06/22/using-iphone-sdk-mapkit-framework-a-tutorial/ を見つけましたが、私が言ったように、すでにフレームワークを追加しています。私は何が欠けていますか?
私もこれに遭遇しましたが、リンクのステップ2の指示に従うことでそれを乗り越えることができました(ところで、ありがとう)。
- MapKitフレームワークをプロジェクトに追加します。 (Control +クリックフレームワークフォルダー->追加->既存のフレームワーク)
MapKit.frameworkを検索してプロジェクトに追加したところ、エラーはなくなりました。
まだマップコードを追加していません(IBにMapViewDelegateが接続されていますが)が、今のところ正常に機能しています!
プロジェクトをクリックして、プロジェクト設定を表示します。 [ターゲット]でプロジェクトをクリックし、上部のツールバーから[ビルドフェーズ]を選択します。 「ライブラリとバイナリをリンク」タブの下に、プロジェクトに含まれるフレームワークのリストが表示されます。 [+]ボタンをクリックし、表示されたリストからMapKitライブラリをプロジェクトに追加します。
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を更新した後、例外は消えました。