1

[大きなアップデート]
React Native で fbsdk をインストールするために、これを読む方がはるかに簡単です: https://developers.facebook.com/docs/react-native/getting-started-ios
しかし、問題はまだ同じ:

Use of undeclared identifier 'UIUserInterfaceIdiomTV'

同じ UIUserInterfaceIdiomTVケース (以前はスイッチにあった) を削除するだけでサンプルの例を機能させることができたので、これは CocoaPods によってプルされたコンテンツに起因するエラーだと思います。

ただし、ガイドのすべての手順に従い、最終的に UIUserInterfaceIdiomTV を削除すると、自分のプロジェクトで新しいコンパイルの問題に直面します。
Undefined symbols for architecture x86_64: "_OBJC_CLASS_$_FBSDKAppEvents", referenced from: objc-class-ref in AppDelegate.o "_OBJC_CLASS_$_FBSDKApplicationDelegate", referenced from: objc-class-ref in AppDelegate.o "_OBJC_CLASS_$_RCTRootView", referenced from: objc-class-ref in AppDelegate.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)

誰かが助けてくれるなら...助けて
くれてありがとう!

4

2 に答える 2

1

私はついに fbsdk を動作させました (24/04/2016)。同じ問題が発生した場合のさまざまな手順を要約するには:

  • コマンドのThe 'YourApp [Debug]' target overrides the 'OTHER_LDFLAGS' build setting...後に警告が表示された場合は、Pod ではなく、メイン プロジェクトのビルド設定に追加されます。pod install$(inherited)
  • UIUserInterfaceIdiomTV は今のところ不明な理由で認識されていないため、AppDelegate.m でエラーが発生した場合は、スイッチからケースをスキミングするだけです
  • info.plist には、sdk インストール ガイドに (まだ) 記載されていない行がいくつか含まれている必要があります。追加する必要があるものの完全なリストは次のとおりです。 <key>CFBundleURLTypes</key> <array> <dict> <key>CFBundleURLSchemes</key> <array> <string>fb{your-app-id}</string> </array> </dict> </array> <key>LSApplicationQueriesSchemes</key> <array> <string>fbapi</string> <string>fb-messenger-api</string> <string>fbauth2</string> <string>fbshareextension</string> </array> <key>FacebookAppID</key> <string>{your-app-id}</string> <key>FacebookDisplayName</key> <string>{your-app-name}</string>

{your-app-id} をアプリ ID に置き換え、{your-app-name} をアプリ名に置き換えることを忘れないでください。皆さん、頑張ってください!

于 2016-04-29T13:40:53.403 に答える
1

この記事はあなたの質問に直接答えます... https://colinramsay.co.uk/2016/04/29/go-serverless.html

関連する詳細をコピーして貼り付けます。リンクがSOFに関する適切な回答ではないことを知っているからです。

npm を介してFacebook React Native SDKをインストールしてみましょう。これにより、便利なログイン ボタンが無料で提供されます。

npm install --save react-native-fbsdkcore react-native-fbsdklogin

これを機能させるには、ネイティブ コードをインストールする必要があるため、CocoaPods でそれを行いましょう。まず、Podfile を作成します。

cd ios
pod init

FacebookAwsReactNative/ios/Podfile に作成されたばかりのファイルを編集し、以下を追加します。

source 'https://github.com/CocoaPods/Specs.git'
pod 'React', :subspecs => ['Core', 'RCTImage', 'RCTNetwork', 'RCTText', 'RCTWebSocket'], :path => '../node_modules/react-native'
pod 'react-native-fbsdkcore', :path => '../node_modules/react-native-fbsdkcore'
pod 'react-native-fbsdklogin', :path => '../node_modules/react-native-fbsdklogin'
pod 'react-native-fbsdkshare', :path => '../node_modules/react-native-fbsdkshare'

Facebook のドキュメントに従って、ここで他の手順を実行する必要がある場合があります。念のため、そのセクションを読んでください。Pod をインストールしてから、Xcode を少しいじる必要があります。

pod install
open FacebookAwsReactNative.xcworkspace

xcodeproj ファイルではなく xcworkspace ファイルを使用していることに注意してください。これは、CocoaPods が機能するために必要です。

FacebookAwsReactNative > Libraries フォルダーを展開し、そこにあるすべてのアイテムを選択して、それらへの参照を削除します。これは、React Native に CocoaPods を使用することを選択したため (Podfilepod 'React'に追加した行を参照)、ライブラリの項目が重複しているためです。

于 2016-04-29T16:12:38.557 に答える