iPhone7が発売されてから、早くも2週間経過しました。
アプリ開発者はiOS10対応、Xcode8での開発移行作業に追われてるのではないでしょうか。
Xcode8が正式リリースされたことにより、Xcode7からアプリを申請できなくなってしまったようです。
インストールする際にも、最新のMacOSでないとインストールできなかったり、下位互換をどんどん切り捨てていくのがAppleらしいですね。
このXcode8が結構不具合が多く、かなりの曲者です!
使用する際は注意が必要です。
私は、Xcode7で開いてしまったプロジェクトをXcode8で開いてしまうと、結構な確率で不具合に遭遇しました。
具体的に体験した不具合一覧は以下になります。
■体験した不具合
・証明書エラー Provisioning関連のもの
・証明書のプルダウンにXcode7で表示されるものが表示されない
・アイコン、スプラッシュファイルなどの誤作動
・ビルドエラー ****.xib: Internal error. Please file a bug at bugreport.apple.com
・StoryboardでAutolayoutを使っていると表示がおかしくなる
・フリーズ、強制終了
iPhone7で、アーキテクチャが追加されなかっただけ良しとしましょう。
■広告SDKを使っている場合
広告SDKなど使っている場合は、パーミッションが必要なものアクセスする場合、Info.plistに理由の追加が必要になったようです。
バイナリアップロード後に届いたメールにも注意書きが書いてありました。
・注意書き内容
「This app attempts to access privacy-sensitive data without a usage description. The app's Info.plist must contain an NSCalendarsUsageDescription key with a string value explaining to the user how the app uses this data. 」
こちらがないとアップロードしても「このビルドは無効です。」と表示されてしまいます。
※iTunesConnectの「アプリ詳細」→「アクティビティ」→「すべてのビルド」→「申請中のVer」→赤い!マークで「このビルドは無効です。」
こちらに対処するには、直接Info.plistを書き換えるか、新しい行を増やして追加する方法があります。
■直接、Info.plistを書き換える方法
以下をplistに追加。
<key>NSCalendarsUsageDescription</key>
<string>Advertisement would like to create a calendar event.</string>
■Xcodeから追加する方法
■Xcodeから追加する方法
Info.plistで「右クリック」して新しい行を追加(AddRow)
Keyを「Privacy - Calenders Usage Description」
Typeを「String」
Valueを「Advertisement would like to create a calendar event.」
に設定しましょう。
よくよく見ると、どうやらAdMobを入れていたことが原因のようです。
(こういったデータも取っていたのは知らなかった・・・。)
こちらはGoogleディスカッショングループにも、同じような投稿がありました。
・Googleディスカッショングループ
他にも写真にアクセスする際、Bluetoothにアクセスする際にも必要になりそうですね。
<key>
<string>Advertisement would like to store a photo.</string>
<key>
<string>Advertisement would like to use bluetooth.</string>
修正して審査に出したところ、問題なく通過しました。
こちらが原因でリジェクトされることは、今のところ少なそうです。
こちらが原因でリジェクトされることは、今のところ少なそうです。
これ以外にもビルドしたファイルが無効になってしまったら、この辺りも確認すると解決するかもしれません!
しばらくは、広告代理店様もこの対応に追われるのでしょうか。
コメント