68

GoogleMaps SDK for iOS をビルドすると、これらのエラーが発生しました。

*** Terminating app due to uncaught exception 'GMSException', reason: 'Google Maps SDK for iOS requires GoogleMaps.bundle to be part of your target under 'Copy Bundle Resources''

しかし、GoogleMaps.framework はコピー バンドル リソースにあるので、混乱しています。この問題の原因を教えてください。

4

11 に答える 11

180

指示はちょっと欠けています。これがお役に立てば幸いです...

  1. Xcodeを起動する(簡単)
  2. GoogleMaps.frameworkバンドルをプロジェクトのFrameworksグループにドラッグします。プロンプトが表示されたら、[アイテムを宛先グループのフォルダーにコピーする]を選択します。

  3. プロジェクトでGoogleMaps.frameworkを右クリックし、[Finderに表示]を選択します。 それが言っていないのは...次に、Resourcesという子フォルダに移動します

  4. GoogleMaps.bundleをResourcesフォルダーからプロジェクトにドラッグします。フレームワークグループに入れることをお勧めします。プロンプトが表示されたら、[アイテムを宛先グループのフォルダーにコピーする]が選択されていないことを確認します。

于 2013-02-20T23:04:31.050 に答える
7

このフレームワークのより新しいバージョンでこの問題が発生しており、CocoaPods デプロイメントを使用している場合は、 「ビルド フェーズ」の「ポッド リソースのコピー」セクションを確認してください。

ここに画像の説明を入力

どうやらこのセクションが欠落しているのは問題であり、Pods ディレクトリを削除して「pod install」を再実行しても、問題を修正するには不十分です。代わりに、次の便利なツールを入手する必要があります。

https://github.com/CocoaPods/cocoapods-deintegrate

これを実行してからpod installを再実行すると、「Copy Pods Resources」セクションが元に戻り、マップをインスタンス化するときにこの例外が発生しなくなります。

于 2015-11-24T02:32:59.763 に答える
3

私にとっては、手動インストールでも同じ問題があります。

1. プロジェクトで GoogleMaps.framework を右クリックし、[Show In Finder] を選択します。

  1. ダブルクリックするか、この GoogleMaps.framework を開きます。「Resources」フォルダが表示されます。(GoogleMaps.bundleが利用可能な場所のスクリーンショットを追加しました)
  2. Resources フォルダをクリックすると、GoogleMaps.bundle が見つかります

ここに画像の説明を入力

  1. GoogleMaps.bundle をプロジェクトにドラッグ アンド ドロップするだけです。[コピー先グループのフォルダーにアイテムをコピー] が選択されていないことを確認します。 ここに画像の説明を入力

注: [必要に応じて項目をコピーする] 宛先グループのフォルダーが選択されていないことを確認してください。スクリーンショットも参照してください。

Command+Shift+K または Xcode-->Product--> Clean をクリーンアップします

これは誰かに役立つかもしれません。

于 2018-07-03T12:20:20.960 に答える
1

Xcode 9 Swift 3.2 に更新すると、次の行で AppDelegate 内でクラッシュが発生し続けました。

GMSServices.openSourceLicenseInfo()

私はグレンの答えを使用してプロジェクトをきれいにし続けましたが、それは間違いなく機能しましたが、最終的にクラッシュが発生し続けました。

それを解決するには、 Google Maps API のインストールの指示に従わなければなりませんでした

従う:

ステップ 2: SDKインストールして手動でインストールする

これは非常に簡単に行うことができますが、最初は 1 つのことが私を混乱させたので、次の人のために明確にするために追加しています。

マニュアルの指示を読んだら、4番に次のように書かれています。

4. Drag the following bundles into your project (when prompted, select Copy items if needed): 

ここに画像の説明を入力

これは、ダウンロードした zip ファイルの中にあります。解凍すると、その中には 2 つのフレームワークしかありません。

GoogleMaps.framework
GoogleMapsCore.framework

はありませんGoogleMapsBase.frameworkGoogleMaps.framework彼らはそれを?にバンドルしたと思います。

number に到達したら8: Open the Build Phases tab, and within Link Binary with Libraries, add the following frameworks:。インポートする必要がある多くのフレームワークがリストされています。

ここに画像の説明を入力

問題は、そのzipファイルを解凍してプロジェクトにドラッグしたときに、追加するように表示されている最初の3つがすでに追加されていることです(実際にはそのうちの2つが追加されました-GoogleMaps.frameworkおよび)。GoogleMapsCore.framework

名前を入力し続けましたが、何も表示されませんでした。

ここに画像の説明を入力

最初からすべての Google フレームワークを削除し続け、それらが既に存在することに気付くまで再試行しました。Accelerate.framework基本的に-からすべての名前を入力すると、うまくUIKit.frameworkいくはずです。

于 2017-10-30T00:26:14.890 に答える