0

Parse SDK (parse.com) を使用してデータを処理するプロジェクト (xcode 6.3+、swift) に取り組んでいます。最近、Google マップ SDK を使用して、方向 API を使用してユーザーに方向を提供することにしました。GoogleマップなしでこのAPIを使用できるので、統合を開始しました。ココアポッドは初めてなので、指示に従って遊び始めました。

pod initポッド仕様ファイルを作成するには

これがGoogleスターティングガイドからの私の設定です

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.1'
pod 'GoogleMaps'

pod installを使用してプロジェクトを起動します。.xworkspace

プロジェクトを直接ビルドしようとすると、34 個のエラーが返されます。エラーのタイプは常に同じです。Apple Match-O Linker Error

ここに画像の説明を入力

ここに画像の説明を入力

それで、空のプロジェクトで同じことをしたので、グーグルを見始めましたが、すべてがうまく機能していました。

Parse SDK を使用すると、GoogleMaps が動作するために必要な -ObjC リンカー フラグと競合するという事実に関する情報を見つけ始めました。答えのほとんどは、2 つの潜在的な解決策を示しています。

1. Facebook-iOS-SDK フレームワークを追加する

Facebookが提供するフレームワークとcocoapodsを使用してこれを試しました。動作していません。それでもエラーが発生しました。

2. -ObjC フラグを次のように置き換えて、GoogleMaps フレームワークを強制的にロードします。

-force_load $(PROJECT_DIR)/Pods/GoogleMaps/Frameworks/GoogleMaps.framework

これもエラーを返します。 ここに画像の説明を入力

だから今、私はこれを解決する方法についてかなり迷っています。GoogleMaps SDK を Parse と統合する方法を見つけた人はいますか?

アップデート

cocoapods なしで GoogleMaps を挿入することで、別のアプローチを試みました。これを行うには、次の方法を使用しました: GoogleMaps without CocoaPods

適切に統合されているように見えますが、-ObjC フラグが残っています。使用する

-force_load $(PROJECT_DIR)/GoogleMaps.framework/GoogleMaps

は現在応答していますが、duplicate symbols for architecture x86_64エラーが発生しています。それを修正する方法を見つけることができないようです。

4

2 に答える 2

0

わかりましたので、GoogleMaps SdkとParseをココアポッドの有無にかかわらず統合するための実用的なソリューションを見つけることができました。ただし、GoogleMaps による -ObjC フラグの使用により、FacebookSDK を方程式に統合せざるを得なくなりました。それなしでこれを機能させる方法を見つけることができませんでした

したがって、この構成は xcode 6.3+ で動作し、古いバージョンの Facebook SDK を使用する必要がありました (cocoapods を使用していない場合)。

CocoaPods を使用

1/. Web サイトの説明に従って Parse SDK を追加します(既存のプロジェクト バージョン) 。

2/. 追加のフレームワーク (AdSupport、アカウント、およびソーシャル) を追加するだけでなく、libstdc++.6.dylib

3/. ルート フォルダーに対してターミナルを開きます

4/.$ pod init

5/. Podfile を開き、コンテンツを次のように置き換えます。

use_frameworks! 
platform :ios, ‘8.0’
pod 'GoogleMaps'

6/. $ pod installそれから$ pod update

7/。このリンクから FacebookSDK をダウンロードします

8/. プロジェクトFBSDKCoreKitにフレームワークを追加するFBSDKLoginKit

9/. プロジェクトをビルドします。

エラーが発生した場合はParseFacebookUtils.framework、プロジェクトから削除してParseFacebookUtilsV4.

CocoaPods なし

したがって、ポッドを使用して GoogleMaps SDK をインストールする代わりに、質問に記載されているリンクを使用して手動で統合するか、GoogleMaps podspecs に移動してソース URL にアクセスして最後のものをダウンロードすることを除いて、これはまったく同じ手順です。

GoogleMaps.framework と GoogleMaps.bundle を必ず追加してください。GoogleMaps.framework /show を [リソース] の下のファインダーで右クリックすると表示されます。プロジェクトにドラッグ アンド ドロップし、プロジェクトのビルド設定/バンドル リソースのコピーにリンクされていることを確認します。

また、質問に記載されているリンクに、必要なフレームワークとライブラリがすべてリストされていることを確認してください。

-ObjCBuild Settings / Other Linker Flags の下にフラグを追加します

FacebookSDK の統合に関して言えば、最新バージョンを使用しても機能しないことに気付きました。どうやら、xcode 7 で動作するように準備されているようです。これを回避するには、ここから古いバージョンをダウンロードしてください。

FBSDKCoreKit と FBSDKLoginKit をプロジェクトに追加すると、準備完了です。誰かがこの仕事をするのが苦痛だった原因を助けてくれることを願っています...

于 2015-11-12T17:54:51.277 に答える