3

私はたくさん検索しましたが、-ObjCフラグが必要であり、 and とGoogleMapSDKうまく機能しないことに気付きました。だから私はすべてのスタックオーバーフローの答えを読んで、私の問題を解決しようとしました。問題はまだ解決されていません。ParseSDKFacebookSDK

私が実行した手順:

  • 問題 1 : Parse が -ObjC で機能しない
  • 解決策 1-ObjC : FacebookSDK をインポートして Parse を機能させるには。終わり

  • 問題 2 : Parse と Fb SDK の両方を使用Bolts.frameworkし、リンカーでduplicate symbolエラーが発生する (そのうちの約 92 個)

  • 解決策 2 : FacebookSDK が既にバンドルされているため、Bolts.framework を削除します。

  • 問題 3 : Bolts.framework を削除した後、重複するエラーはなくなりますが、この 1 つの小さなリンカー エラーがわかりません。新しい SDK バージョンで何かが変更されたと思います。エラーは次のとおりです。

  • 解決策:??

アーキテクチャ x86_64 の未定義シンボル: "_BFTaskMultipleExceptionsException"、次から参照: ___53+[PFObject(Private) deleteAllAsync:withSessionToken:]_block_invoke214 in Parse(PFObject.o) ___65+[PFObject(Private) _deepSaveAsync:withCurrentUser:sessionToken:]_block_invoke311 in Parse(PFObject) .o) ld: アーキテクチャ x86_64 のシンボルが見つかりませんでした。

[SOに関するこの回答][1]のコメントで同じ問題が尋ねられましたが、返信も建設的な回答もありませんでした。

1.1.3 PS FacebookSDK には Bolts バージョンがバンドルされており、Parse には1.1.4zip ファイルにバージョンが含まれていることに気付きました。これが問題の原因ですか?? PPS 本日(2015 年 3 月 19 日)現在、SDK の最新バージョンを使用しています。

- Parse SDK: 1.6.4 - GoogleMaps SDK: 1.9.2

4

2 に答える 2

2

Google Maps SDK for iOS がリリースされたとき、いくつかのリンカー エラーをハッキングする方法をいくつか試しました。

iOS 4.3 で実行しようとしている iOS 用 Google Maps SDK

不足しているシンボルを回避するために見つけたハックの 1 つは、コード内で不足しているシンボルを再定義することでした。

ここでは、BFTaskMultipleExceptionsException文字列は次のように定義されています。

NSString *const BFTaskMultipleExceptionsException = @"BFMultipleExceptionsException";

では、その 1 行をコードに挿入してみてください。

github の履歴から、これは約 19 日前に Bolts に追加されたばかりのようです。Bolts のバージョン 1.1.4 は 14 日前にリリースされました (1.1.3 は昨年 10 月のものです)。ということで、お気づきのBoltsのバージョン不一致が原因と思われます。

もう 1 つのオプションは、Bolts 1.1.4 がリリースされる前の古いバージョンの Parse を入手することです。

これは、Bolts 1.1.4 で新しい Facebook SDK が利用可能になると修正されると思われます。

于 2015-03-19T03:01:00.250 に答える
1

そのため、Bolts Framework 1.1.3 は Parse 1.6.3 で動作します。しかし、Parse 1.6.3 はどこにも見つかりませんでした。それで、私は多くのことを掘り下げて、ココアポッドのjsonファイルに入り、ダウンロードへの直接リンクParse 1.6.3またはその問題に関するフレームワークの任意のバージョンを取得しました. github.com/CocoaPods/Specs of cocoa pods は、調べるリポジトリです。

特にParse 1.6.3を探している他のすべての人向け。これがリンクです。json でリンクを見つけてsource、ブラウザにコピーしてください。

最終的な結論でこの質問を締めくくります。

Parse 1.6.3 と FacebookSDK 3.93 は Bolts 1.1.3 に依存しています

Parse 1.6.4 は Bolts 1.1.4 で更新されましたが、現時点では facebook sdk はありません。したがって、facebook sdk がボルト 1.1.4 で更新されるまで、Parse 1.6.3 で作業する必要があります。

于 2015-03-19T12:52:38.280 に答える