Module 'SquareInAppPaymentsSDK' not found
platform :ios, '11.0'
target 'myproject' do
use_frameworks!
pod 'React', :path => '../node_modules/react-native'
pod 'yoga', :path => '../node_modules/react-native/ReactCommon/yoga'
pod 'DoubleConversion', :podspec => '../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec'
pod 'glog', :podspec => '../node_modules/react-native/third-party-podspecs/glog.podspec'
pod 'Folly', :podspec => '../node_modules/react-native/third-party-podspecs/Folly.podspec'
pod 'RNSquareInAppPayments', :path => '../node_modules/react-native-square-in-app-payments'
post_install do |installer|
installer.pods_project.targets.each do |target|
if target.name == 'React'
target.remove_from_project
end
end
end
end
https://github.com/square/in-app-payments-react-native-plugin/issues/66#issuecomment-625333601
私は自動リンクを試みました(前述のように、RN 0.59.9を使用しているのでそれが必要です)、それからもう一度開始して手動リンクを試みましたが、どちらも同じエラーが発生しています。これに関する私のコメントは https://github.com/square/in-app-payments-react-native-plugin/issues/66#issuecomment-62533021 で確認できます。
ところで、「ライブラリとバイナリをリンク」の下に、パッケージの2つのエントリがあります。
新しいreact-nativeプロジェクト(react-initで作成)でpodfileを試しました。追加したとき
import { SQIPCore } from 'react-native-square-in-app-payments';
https://github.com/square/in-app-payments-react-native-plugin/issues/66#issuecomment-62976261 で説明されているエラーが発生します
私のリポジトリは https://github.com/rahamin1/square_with-podfile にあります
あなたのgithub issueリンクによると、
あなたは反応0.59.xを実行しています。つまり、実行する必要があります
react-native link
IOS XCodeでリンクされるネイティブライブラリ用。
別の方法は、XCodeの依存関係をリンクすることです。これは、reactネイティブ docs にあります。
抜粋
ステップ1ライブラリにネイティブコードがある場合、そのフォルダー内に.xcodeprojファイルが必要です。このファイルをXcodeのプロジェクト(通常はXcodeのLibrariesグループの下)にドラッグします。
ステップ2メインプロジェクトファイル(.xcodeprojを表すファイル)をクリックして[ビルドフェーズ]を選択し、静的ライブラリを、インポートするライブラリ内のProductsフォルダーからライブラリとバイナリをリンクにドラッグします。
ステップ3すべてのライブラリーがこのステップを必要とするわけではありません。考慮する必要があるのは、コンパイル時にライブラリーの内容を知る必要があるかどうかです。つまり、このライブラリをネイティブ側で使用していますか、それともJavaScriptのみで使用していますか? JavaScriptでのみ使用する場合は、準備完了です。ネイティブから呼び出す必要がある場合は、ライブラリのヘッダーを知る必要があります。これを行うには、プロジェクトのファイルに移動する必要があります。ビルド設定を選択し、ヘッダー検索パスを検索します。そこでライブラリへのパスを含める必要があります。 (このドキュメントは、再帰的な使用を推奨するために使用されましたが、特にCocoaPodsで微妙なビルドエラーを引き起こす可能性があるため、これは推奨されなくなりました。)
RN 0.60+の場合、リンクは自動的に行われます。
編集:
ディレクトリ<YOUR_PROJECT_DIRECTORY>/ios
のコマンドを使用して、cocoapodsでSDKをインストールすることもできます
pod install
react-native 0.59.9のボイラープレートを複製してテストすることもできます
https://github.com/nomi9995/in-app-payments-0.59.9.git
ポッドファイルを変更する
platform :ios, '11.1'
target 'myproject' do
use_frameworks!
rn_path = '../node_modules/react-native'
pod 'React', path: rn_path, subspecs: [
'CxxBridge',
'RCTText',
'RCTNetwork',
'RCTWebSocket',
'RCTAnimation',
'RCTActionSheet',
'RCTGeolocation',
'RCTImage',
'RCTSettings',
'RCTVibration',
'RCTLinkingIOS'
]
pod 'yoga', :path => "#{rn_path}/ReactCommon/yoga"
pod 'DoubleConversion', :podspec => '../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec'
pod 'glog', :podspec => '../node_modules/react-native/third-party-podspecs/glog.podspec'
pod 'Folly', :podspec => '../node_modules/react-native/third-party-podspecs/Folly.podspec'
pod 'RNSquareInAppPayments', :path => '../node_modules/react-native-square-in-app-payments'
end
そしてpodfileを再インストールします
pod install