アプリで Google マップを使いたい。SDK をダウンロードし、スターティング ガイドを読み、アプリに適用しました。必要なライブラリを追加し (それらを再確認したか、または数十個)、API キーを作成してアプリに追加し、マップ ビューを追加するコードを追加しました。アプリを実行すると、次のエラーが表示されました。
Unknown class GMSMapView in Interface Builder file.
+[GMSCameraPosition cameraWithLatitude:longitude:zoom:]: unrecognized selector sent to class 0x32d670
最初のエラーを解決するために:ストーリーボードビューが適切に接続されており、ビューに適切なクラスが接続されていることを確認しました。しかし、うまくいきませんでした。ここで同様の問題について検索しましたが、それらのほとんどは「製品を試してからアプリをクリーンアップしてから再実行してください」のようなものでした。私はそれを試してみましたが、シミュレーターからアプリを削除しても機能しませんでした。
2番目の問題を解決するために、私もそれを検索しましたが、ほとんどの解決策は、プロジェクトではなく「ターゲット」のその他のリンカーフラグに-ObjCを追加することでした。それで私はそれを行い、さらにアーキテクチャをarmv7に変更しました(Googleも述べています)。ただし、Match-O タイプに関する 8 つのエラーが大量に発生しました。
Undefined symbols for architecture i386:
"_FBTokenInformationExpirationDateKey", referenced from:
-[PFFacebookTokenCachingStrategy cacheTokenInformation:] in Parse(PFFacebookTokenCachingStrategy.o)
-[PFFacebookTokenCachingStrategy expirationDate] in Parse(PFFacebookTokenCachingStrategy.o)
-[PFFacebookTokenCachingStrategy setExpirationDate:] in Parse(PFFacebookTokenCachingStrategy.o)
"_FBTokenInformationTokenKey", referenced from:
-[PFFacebookTokenCachingStrategy accessToken] in Parse(PFFacebookTokenCachingStrategy.o)
-[PFFacebookTokenCachingStrategy setAccessToken:] in Parse(PFFacebookTokenCachingStrategy.o)
"_FBTokenInformationUserFBIDKey", referenced from:
-[PFFacebookTokenCachingStrategy facebookId] in Parse(PFFacebookTokenCachingStrategy.o)
-[PFFacebookTokenCachingStrategy setFacebookId:] in Parse(PFFacebookTokenCachingStrategy.o)
"_OBJC_CLASS_$_FBRequest", referenced from:
objc-class-ref in Parse(PFFacebookAuthenticationProvider.o)
"_OBJC_CLASS_$_FBSession", referenced from:
objc-class-ref in Parse(PFFacebookAuthenticationProvider.o)
"_OBJC_CLASS_$_FBSessionTokenCachingStrategy", referenced from:
_OBJC_CLASS_$_PFFacebookTokenCachingStrategy in Parse(PFFacebookTokenCachingStrategy.o)
"_OBJC_METACLASS_$_FBSessionTokenCachingStrategy", referenced from:
_OBJC_METACLASS_$_PFFacebookTokenCachingStrategy in Parse(PFFacebookTokenCachingStrategy.o)
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
私は自分のアプリでParseデータのバックアップも使用していることに注意したいのですが、エラーがどういうわけかそれらを指していて、理由がわかりません! その後、プロジェクトでアーキテクチャをarmv7に、他のリンカーフラグをターゲットではなく-ObjCに変更しようとしました(Googleがアドバイスしたように)。マッチタイプのエラーは消えましたが、最初に述べたエラーはまだ残っています。
お願いします、誰かこれで私を助けてください!! 私はそれがうまく機能することを望んでおり、ソリューションのすべての反復を試しました。また、ストーリーボードを使用してGoogleマップを追加する方法を示すGoogleがアップロードしたサンプルコードをダウンロードしました(これは機能します)。私もそれを真似しましたが、役に立ちませんでした。ところで、彼らは -ObjC をターゲットに追加しましたが、それは機能しています!! それで、それは問題を解決するのですか?アプリから除外することはできません。ユーザー データのバックアップに頻繁に使用しています。