ブログランキング・にほんブログ村へ


iPhone/iPad用潜水艦ゲームアプリ ソナーエコー iTunesにて公開中

2016年11月18日

[iOS]Apps that have 'arm64' in the list of UIRequiredDeviceCapabilities in Info.plist must only contain the arm64 slice.

ソナーエコーの1.2.0がやっと準備できたのでiTunes connectにあげようと。
そしたらOrganaizerのVeridationでこんなエラー。
iTunes Store operation failed.
Invalid Bundle. Apps that have 'arm64' in the list of UIRequiredDeviceCapabilities in Info.plist must only contain the arm64 slice.

info.plistのRequiredDeviceCapabilitiesに確かにarm64と書いた。
64ビットコードだけにしろ、と言ってるわけだ。たぶん。
そりゃぜひともそうしたいんだけど、なんか前、うまくいかなったんだよねーと思いつつ、どうしようもないので色々試す。

RequiredDeviceCapabilities
に書いてあった armv7を外す。そりゃいらないよね。

BuildSettingsの
VALID_ARCHS

arm64だけにする。
そして同じくBuildSettingsの
ARCHS
がStandardになってるけど、これを削除して
arm64
だけにする。
これで通った。以前ARCHSをarm64にしたときはうまくいかなったような気がしたんだけど…まあいいか。

で、32bitsコードなくすといったいどんくらい小さくなったの?というのでOrganaizerで見てみる。
(Organaizerで今まで作ったパッケージのところを右クリック→Show in Finderで見られる)

45.5MB -> 38.5MBで7MB、dSYMのサイズは入れないみたいなんで、パッケージの中のdSYMのサイズをみてみると差は3,4MBくらい。そうすると差は3,4MBくらいということになる。たったそんだけ?とびっくりした。
posted by みこあいさ at 12:22| iOS開発

2016年10月13日

[iOS][Metal]Execution of the command buffer was aborted due to an error during execution.Caused GPU Hang Error (IOAF code 3)

OpenGLES -> Metalの移植もいよいよ大詰め…となっていきなりこんなエラーに遭遇。
環境は iOS10.0.2 iPhone SE。

Execution of the command buffer was aborted due to an error during execution. Caused GPU Hang Error (IOAF code 3)

Execution of the command buffer was aborted due to an error during execution.

MTLCommandBufferがなんかしらの内部エラーを出してるらしいが、なにせ情報がほとんどない。
UIKitと衝突する?と出ることがあるとかいう感じの記述をみつけてそれらしいところを外してみるが効果なし。
不思議なのは描画関係何も変えてないはずなのにいきなり出るようになったこと。


----解決。

更新開発中のゲーム(ソナーエコー)で、ステージ制なのに新ステージのみで出て他のステージで出ないことから調べていったところ、テクスチャのロードをミスして出来てなかったこと(0となっていた)がわかった。
エンコーダのテクスチャの設定をsetFragmentTextureしないまま実行すると、パラメータがセットされないというエラーが出るのに0をセットするとこういうエラーとなるらしい。
不親切で気づかないと相当はまるので気をつけたい。
タグ:iOS metal
posted by みこあいさ at 12:31| iOS開発

2016年09月25日

[!] The dependency `Google-Mobile-Ads-SDK (~> 7.0)` is not used in any concrete target.

xcodeも8になったんで、ADMobも更新しろとかいってきてるしcocoaPodsも更新して...とやったらおおはまり。

[!] The dependency `Google-Mobile-Ads-SDK (~> 7.0)` is not used in any concrete target.

こんなのが出て進まない。PodFileがいかんようなんだけど。
ADMob SDKのページを見ても特に更新なし。単にリンク切れてる古いページが残ってるのがヒットしただけかもしれない。

で、いろいろやってみて、やっぱりPodFileを書き直さないと駄目だった。
cocoaPods 1.xになって書式が変更になったらしい。Google ADMob SDKのページが更新されてないのは

こちらのページが大変参考になった。
adMobがFirebaseとやらになっとる!

1つだけでよかったのでこんなかんじ。

source 'https://github.com/CocoaPods/Specs.git'

# Uncomment this line to define a global platform for your project
platform :ios, '8.0'
# Uncomment this line if you're using Swift
# use_frameworks!

target 'XXXXXXXX' do
pod 'Google/Analytics'
pod 'Firebase/Core'
pod 'Firebase/AdMob'

end


'XXXXXXXX'のとこを自分のプロジェクト名にする。してないとそうしろというエラーが出るので従うのみ。

これで pod install , pod update が通って無事更新できた。
タグ:iOS Xcode
posted by みこあいさ at 01:39| iOS開発