2017年03月29日

[iOS] AWSでビルドエラー(Undefined symbols for architecture arm64)になる

前回、XcodeプロジェクトにCocoaPodsを使ってAWS SDK を追加することに成功しました。

[iOS] CocoaPodsを初めて使ってみたら「linker command failed with exit code 1」でビルドエラーになる

いざ、Congnitoを使って認証しようかとプログラムを書き始めたところ
リンクエラーのようなものが出ました。

↓プログラム
------------------------------------------------------
AWSCognitoCredentialsProvider *credentialsProvider = [[AWSCognitoCredentialsProvider alloc] initWithRegionType:AWSRegionAPNortheast1
identityPoolId:CONGNITO_POOL_ID];
AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1
credentialsProvider:credentialsProvider];
AWSServiceManager.defaultServiceManager.defaultServiceConfiguration = configuration;
------------------------------------------------------

↓エラー内容
------------------------------------------------------
Undefined symbols for architecture arm64:
"_OBJC_CLASS_$_AWSServiceManager", referenced from:
objc-class-ref in HundredSquaresCalcAppDelegate.o
"_OBJC_CLASS_$_AWSServiceConfiguration", referenced from:
objc-class-ref in HundredSquaresCalcAppDelegate.o
"_OBJC_CLASS_$_AWSCognitoCredentialsProvider", referenced from:
objc-class-ref in HundredSquaresCalcAppDelegate.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
------------------------------------------------------

プログラム参考:
http://docs.aws.amazon.com/ja_jp/cognito/latest/developerguide/step1-getting-started.html

なんと、前回CocoaPodsでAWS SDKを追加が完了したと思いきや、
元のプロジェクトに対してCongnitoのフレームワークの追加が必要なのでした。

リンクエラー修正.png

こうやって元のプロジェクトにAWS SDKのフレームワークを追加することで、
無事ビルドが通ったのでした。

初めてのことは、必ずハマる箇所があるなー。
posted by be-style at 10:17| Comment(0) | iOS
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

※ブログオーナーが承認したコメントのみ表示されます。