横向き固定時にラウンチ画像が出ない
横向き固定のアプリにした場合、iPhone5など一部端末でラウンチ画像が出なかった。(LaunchScreen.xibは未使用)
Asset Catalogでは対応できず、旧来の「Default@2x.png」等の画像ファイルを用意する方式を使用し、さらにinfo.plistを直接書き換えることで対応した。
そもそもiPhone6 Plus以外のiPhoneは横向きのラウンチ画像に対応していないので、90度右に回転した縦長の画像を用意する必要がある。
用意した画像ファイルは以下の6つ。
ファイル名 | サイズ | 90度右回転 | 端末 |
---|---|---|---|
Default@2x.png | 640×960 | 必要 | iPhone4,4S |
Default-568h@2x.png | 640×1136 | 必要 | iPhone5,5s,5c |
Default-667h@2x.png | 750×1334 | 必要 | iPhone6,6s |
Default-736h-Landscape@3x.png | 2208×1242 | iPhone6 Plus,6s Plus | |
Default-Landscape.png | 1024×768 | iPad,2,Mini | |
Default-Landscape@2x.png | 2048×1536 | iPad3,4,Air,Mini2 |
この画像をプロジェクトに追加したうえで、info.plistに以下を追記した。
<key>UILaunchImages</key> <array> <dict> <key>UILaunchImageMinimumOSVersion</key> <string>7.0</string> <key>UILaunchImageName</key> <string>Default</string> <key>UILaunchImageOrientation</key> <string>Portrait</string> <key>UILaunchImageSize</key> <string>{320, 480}</string> </dict> <dict> <key>UILaunchImageMinimumOSVersion</key> <string>7.0</string> <key>UILaunchImageName</key> <string>Default</string> <key>UILaunchImageOrientation</key> <string>Landscape</string> <key>UILaunchImageSize</key> <string>{320, 480}</string> </dict> <dict> <key>UILaunchImageMinimumOSVersion</key> <string>7.0</string> <key>UILaunchImageName</key> <string>Default-568h</string> <key>UILaunchImageOrientation</key> <string>Portrait</string> <key>UILaunchImageSize</key> <string>{320, 568}</string> </dict> <dict> <key>UILaunchImageMinimumOSVersion</key> <string>7.0</string> <key>UILaunchImageName</key> <string>Default-568h</string> <key>UILaunchImageOrientation</key> <string>Landscape</string> <key>UILaunchImageSize</key> <string>{320, 568}</string> </dict> <dict> <key>UILaunchImageMinimumOSVersion</key> <string>8.0</string> <key>UILaunchImageName</key> <string>Default-667h</string> <key>UILaunchImageOrientation</key> <string>Portrait</string> <key>UILaunchImageSize</key> <string>{375, 667}</string> </dict> <dict> <key>UILaunchImageMinimumOSVersion</key> <string>8.0</string> <key>UILaunchImageName</key> <string>Default-667h</string> <key>UILaunchImageOrientation</key> <string>Landscape</string> <key>UILaunchImageSize</key> <string>{375, 667}</string> </dict> <dict> <key>UILaunchImageMinimumOSVersion</key> <string>8.0</string> <key>UILaunchImageName</key> <string>Default-736h-Landscape</string> <key>UILaunchImageOrientation</key> <string>Landscape</string> <key>UILaunchImageSize</key> <string>{414, 736}</string> </dict> <dict> <key>UILaunchImageMinimumOSVersion</key> <string>7.0</string> <key>UILaunchImageName</key> <string>Default-Landscape</string> <key>UILaunchImageOrientation</key> <string>Landscape</string> <key>UILaunchImageSize</key> <string>{768, 1024}</string> </dict> </array>
参考サイト:https://developer.apple.com/library/ios/technotes/tn2244/_index.html
質問によるメタデータリジェクトへの対応
アップルへのレビュー申請で問題解決センター(Resolution Center)に質問が届き、状態がメタデータリジェクトになった。
質問は「ファイルシェアリングを使用しているようだが、アプリ内でどうやって試せばよいか?」のような内容だった。
問題解決センターでこれに回答したが、状態はメタデータリジェクトなので「審査へ提出」ボタンが有効になっていた。
「審査へ提出」ボタンを押す必要があるのか不明だったが、ボタンを押した。
ただ後で調べたところ、「審査へ提出」ボタンを押さなくてもレビューが再開したという報告があった。
http://stackoverflow.com/questions/30056842/should-i-resubmit-the-binary-after-replying-to-a-metadata-rejection
「審査へ提出」ボタンを押してから実際にレビューされるまでそこそこ時間がかかったので、ボタンを押さない方が早くレビューされたのかもしれない。
glBindFramebufferで画面のフレームバッファに戻す
[sGLKView bindDrawable]; // sGLKViewはGLKView*型
を呼び出すことで画面のフレームバッファに戻る。
この方法ではなくglBindFramebuffer関数で戻したい場合は、以下のようにして初期化時にフレームバッファのIDを取得しておく。
[sGLKView bindDrawable] GLint gGLDisplayFrameBuffer; glGetIntegerv(GL_FRAMEBUFFER_BINDING, &aGLDisplayFrameBuffer);
これでaGLDisplayFrameBufferをglBindFramebufferで設定すれば画面のフレームバッファに戻る。