2017年11月14日

[iOS] Xcode9でiOS Simulatorsを選択するとビルドエラー(Lexical or preprocessor issue)になる

Xcode9.1になって、iPhoneX向けにビルドできるようになりました。
iPhoneXを持っていないので、シミュレーターで動作確認する必要がありました。

Xcodeのアプデート説明:
スクリーンショット 2017-11-14 16.04.15.png

Xcode9.1にして、いざ出力先をiPhoneX(シミュレーター)にしてビルドしたところ、
Lexical or preprocessor issue
というビルドエラーが出てしまいました。
実機だとビルドできたのに!
CocoaPodsのせいかと思って設定を見直してみたのですがダメでした。

【参考】
.hをimportしているところで「lexical or preprocessor issue file not found」ビルドエラー:
http://anton0825.hatenablog.com/entry/20140815/1413252144

ふと、他の警告文に目がいったので、そちらを読んでみると、

-----------------------------------------------
Showing All Messages
Target 'Pods-[プロジェクト名]' of project 'Pods' was rejected as an implicit dependency for 'Pods_[プロジェクト名].framework' because its architectures 'x86_64' didn't contain all required architectures 'i386 x86_64'
-----------------------------------------------

とあったので、
Podsプロジェクトの「Supported Platforms」「Valid Architectures」をiOS用に変えてみたり
したのですがダメでした。

実は、これが惜しところを見ていたのでした。
Build Active Architecture Only > Debug > Yes
を「No」に変えればよかったのでした。

スクリーンショット 2017-11-14 21.21.17.png

シミュレーターはMacなので、Valid ArchitecturesをiOSにしてたら、そりゃビルドエラーになるわ。
ということで、これで無事アプリをiPhoneXのシミュレーターで動作確認することができました。
posted by be-style at 21:27| Comment(0) | iOS

[iOS] Xcode9でアーカイブしたプロジェクトをValidateしようとして警告やエラーが出るときの対処法

Xcode9.1にしてみたら、アプリを申請するときに警告が出ました。

スクリーンショット 2017-11-14 20.28.35.png

気持ち悪かったので原因を調べていたら、
これまでiTunes Connectの管理画面で設定したいて1024x1024サイズのアイコンが
Xcodeで設定できるようになったということでした。

参考:
http://gootara.org/library/2017/10/x9micon.html

早速、Xcodeのプロジェクトを選択して、
TARGETS > プロジェクト名 > App Icons and Launch Images > App Icon Source > →

スクリーンショット 2017-11-14 21.03.02.png

から、カタログ画面を確認。
すると、1024x1024用の枠が出来てた!
ので、早速アイコンを入れました。

スクリーンショット 2017-11-14 20.32.28.png

ちなみに、アイコンファイルにアルファチャンネルが含まれていると
Validateのときにエラーが出るので、アルファチャンネルは決しておきましょう。

スクリーンショット 2017-11-14 20.39.00.png


[iOS] iTunes Connect の申請でPNGファイルにアルファチャンネルが含まれていて申請に使えないときの対処
http://blog.be-style.jpn.com/article/105597923.html

Xcodeが新しくなる度に何か設定ミスってないか心配になるわー。
posted by be-style at 21:09| Comment(0) | iOS

2017年04月05日

[iOS] CocoaPod で GoogleAnalyticsを追加した後でエラー「_OBJC_CLASS_$_GGLContext」

CocoaPod を使って手順通りにGoogleAnalyticsのSDKをプロジェクトに
追加したはずなのにビルドエラーになりハマったのでメモ。

Google Analyticsの導入手順
https://developers.google.com/analytics/devguides/collection/ios/v3/?hl=ja

エラー:
_OBJC_CLASS_$_GGLContext

原因は、手順にあるこのプログラムの部分。

NSError *configureError;
[[GGLContext sharedInstance] configureWithError:&configureError];

どうも「GGLContext」が見つからないようでした。

解決策は、
Xcode の Build Setting で OTHER_LDFLAGS で検索し、Other Linker Flags に
$(inherited)
を追記することでした。

スクショ20170405.png

参考:
http://stackoverflow.com/questions/31108868/undefined-symbols-for-architecture-armv7-objc-class-gglcontext-referenced

pod install コマンドを実行した後に、そんなメッセージ出てたわー。
--------------------
[!] The `プロジェクト名 [Release]` target overrides the `OTHER_LDFLAGS` build setting defined in `Pods/Target Support Files/Pods-プロジェクト名/Pods-プロジェクト名.release.xcconfig'. This can lead to problems with the CocoaPods installation
- Use the `$(inherited)` flag, or
- Remove the build settings from the target.
--------------------
posted by be-style at 00:16| Comment(0) | iOS