私はAWSMobileHubの使用を開始しましたが、統合手順を進めていますが、プロジェクトで使用する予定のcocoapodsとうまく一致しません。awsmobilehubとcocoapodsのインテグレーション
私は統合手順に従って、aws +ヘルパーコードからダウンロードしたフレームワークを追加しました。
私は、これはその後、私はポッドでプロジェクトにcocoapodsを追加するコンパイルし、
細かい動作しますので、
などの組み込みフレームワークとして、それらを追加しましたinit、podfileを次のように編集して作業を作成するスペース。
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '9.0'
use_frameworks!
target 'ProjectName' do
project 'ProjectName'
pod 'Fabric'
pod 'Crashlytics'
end
続いてpod installを実行すると、これまでにpodfileに追加したフレームワークが追加されます。
しかし、私はコンパイル時に次のエラーが発生します。
Undefined symbols for architecture x86_64:
"_OBJC_CLASS_$_AWSS3PreSignedURLBuilder", referenced from:
objc-class-ref in AWSMobileHubHelper(AWSContentManager.o)
"_OBJC_CLASS_$_AWSS3ListObjectsOutput", referenced from:
objc-class-ref in AWSMobileHubHelper(AWSContentManager.o)
"_OBJC_CLASS_$_AWSS3GetPreSignedURLRequest", referenced from:
objc-class-ref in AWSMobileHubHelper(AWSContentManager.o)
"_OBJC_CLASS_$_AWSS3", referenced from:
objc-class-ref in AWSMobileHubHelper(AWSContentManager.o)
(maybe you meant: _OBJC_CLASS_$_AWSS3ContentProvider)
"_OBJC_CLASS_$_FBSDKLoginManager", referenced from:
objc-class-ref in AWSMobileHubHelper(AWSFacebookSignInProvider.o)
"_OBJC_CLASS_$_AWSLambdaInvoker", referenced from:
objc-class-ref in AWSMobileHubHelper(AWSCloudLogic.o)
"_OBJC_CLASS_$_AWSSNSGetEndpointAttributesInput", referenced from:
objc-class-ref in AWSMobileHubHelper(AWSPushManager.o)
"_OBJC_CLASS_$_FBSDKApplicationDelegate", referenced from:
objc-class-ref in AWSMobileHubHelper(AWSFacebookSignInProvider.o)
"_OBJC_CLASS_$_AWSSNSSubscribeInput", referenced from:
objc-class-ref in AWSMobileHubHelper(AWSPushManager.o)
"_OBJC_CLASS_$_GIDSignIn", referenced from:
objc-class-ref in AWSMobileHubHelper(AWSGoogleSignInProvider.o)
"_OBJC_CLASS_$_AWSSNSSetEndpointAttributesInput", referenced from:
objc-class-ref in AWSMobileHubHelper(AWSPushManager.o)
"_OBJC_CLASS_$_FBSDKAccessToken", referenced from:
objc-class-ref in AWSMobileHubHelper(AWSFacebookSignInProvider.o)
"_OBJC_CLASS_$_AWSSNS", referenced from:
objc-class-ref in AWSMobileHubHelper(AWSPushManager.o)
"_OBJC_CLASS_$_FBSDKGraphRequest", referenced from:
objc-class-ref in AWSMobileHubHelper(AWSFacebookSignInProvider.o)
"_OBJC_CLASS_$_AWSS3ListObjectsRequest", referenced from:
objc-class-ref in AWSMobileHubHelper(AWSContentManager.o)
"_OBJC_CLASS_$_AWSSNSCreatePlatformEndpointInput", referenced from:
objc-class-ref in AWSMobileHubHelper(AWSPushManager.o)
"_OBJC_CLASS_$_AWSSNSUnsubscribeInput", referenced from:
objc-class-ref in AWSMobileHubHelper(AWSPushManager.o)
"_AWSSNSErrorDomain", referenced from:
___88-[AWSPushManager interceptApplication:didRegisterForRemoteNotificationsWithDeviceToken:]_block_invoke.237 in AWSMobileHubHelper(AWSPushManager.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
私は同じエラーを取得する代わりに
を埋め込まれたフレームワークを削除し、podfileにそれらを追加した場合。
これは、デバッグビルド
//:configuration = Debug
OTHER_LDFLAGS = $(inherited) -l"c++"
-l"sqlite3"
-l"stdc++"
-l"z"
-framework "AVFoundation"
-framework "AWSCognitoIdentityProvider"
-framework "AWSCore"
-framework "AddressBook"
-framework "AssetsLibrary"
-framework "CFNetwork"
-framework "CoreFoundation"
-framework "CoreGraphics"
-framework "CoreLocation"
-framework "CoreMedia"
-framework "CoreMotion"
-framework "CoreText"
-framework "CoreVideo"
-framework "MessageUI"
-framework "QuartzCore"
-framework "SafariServices"
-framework "Security"
-framework "StoreKit"
-framework "SystemConfiguration"
-framework "UIKit"
//:completeSettings = none
編集のための私の他のリンカのフラグである:いくつかのフレームワークがcocoapods細かい
問題を追加することができますが、フレームワークが-ObjCを必要とするときに生じるように見えるように思われます他のリンカフラグ
OTHER_LDFLAGS = $(inherited) -ObjC -l"z" -framework "AFNetworking" -framework "AWSCognitoIdentityProvider" -framework "AWSCore" -framework "Bolts" -framework "CFNetwork" -framework "CoreGraphics" -framework "FBSDKCoreKit" -framework "FBSDKLoginKit" -framework "PureLayout" -framework "QuartzCore" -framework "Reveal"
以上
pod.debug.xcconfigファイルであるに追加する
私はAWS例
として
pod 'FBSDKCoreKit'
pod 'FBSDKLoginKit'
pod 'PureLayout'
pod 'AFNetworking', '3.1.0'
でコンパイル罰金以下を追加します。しかし、私は次のように追加した場合、それは-ObjCに追加し
pod 'Reveal-iOS-SDK', :configurations => ['Debug']
すべてのエラーが発生します私はこれらのフレームワークを一緒に演奏するためにここで何をすべきですか?
私はAWSMobileHubに付属しているサンプルアプリにポッドファイルとして公開
編集2「MySampleApp」を追加しようと同じことが起こります:私はAWSMobileHubHelper.frameworkが含まれているAMazonAwsフォルダを削除してコンパイルする場合 をcocoapodsから追加されたawsファイルだけでうまく動作します。この問題は、AmazonAwsフォルダが追加されたときに発生するようです。
AWSCognitoを既存のプログラムに追加しようとして同じエラーが発生しました。あなたは問題を解決しましたか? – user3239711
@ user3239711申し訳ありません。私はAWSフレームワークを埋め込み、ポッドアップデートを実行した後で必ずpod xcconfigファイルから-ObjCを削除しなければならない – glogic