iOS」タグアーカイブ

[iOS] アプリ回転対応方向設定

  • iPhone : Portrait方向のみ(回転禁止)
  • iPad : 全方向許可(回転許可)

ProjectName/Info.plist

注:Xcodeからの変更はうまく反映されないため Info.plist をエディタで直接変更する。

環境

  • Xcode 7.2.1
  • iOS 10.3

[iOS] AutoLayoutが期待通りに働かない

原因

旧来の AutoSizing が(デフォルトで)有効になったままで、あたらしい AutoLayout は無効になっている。

UIオブジェクトのプロパティ translatesAutoresizingMaskIntoConstraints が有効になっている。

AutoSizingを無効にする(=AutoLayoutを有効にする)コードの例

autolayoutにおいてUINavigationBarの重なりを避ける

UIViewControllerのtopLayoutGuideプロパティを参照する。


https://developer.apple.com/library/content/documentation/UserExperience/Conceptual/AutolayoutPG/

OpenCVを組み込んだiOSアプリが“Missing Info.plist key”を理由にAppStore審査不合格

不合格理由

アプリがカメラ機能を使用するにもかかわらず xxx-Info.plist にカメラ機能を使用する理由の記載(NSCameraUsageDescription)がない。

カメラ機能を明示的には使用していないケースであっても、OpenCV(opencv2.framework)を組み込むとカメラ機能を呼び出す(ことができる)バイナリ・オブジェクトがアプリに含まれてしまう。

続きを読む

“Missing Info.plist key”を理由にAppStore審査不合格

Dear developer,
We have discovered one or more issues with your recent delivery for “xxxxx”. To process your delivery, the following issues must be corrected:
Missing Info.plist key – This app attempts to access privacy-sensitive data without a usage description. The app’s Info.plist must contain an NSCameraUsageDescription key with a string value explaining to the user how the app uses this data.
Once these issues have been corrected, you can then redeliver the corrected binary.
Regards,
The App Store team

不合格の直接的理由

アプリがカメラ機能を使用するにもかかわらず xxx-Info.plist にカメラ機能を使用する理由の記載(NSCameraUsageDescription)がない。

続きを読む

ipaファイルのチェック

展開

ipaファイルはzip形式で圧縮されている。拡張子をzipに変更するかuzipコマンドで直接展開することで中身を参照することができる。

 

チェック

展開したPayloadの中をotoolでチェックする

PHAssetCollectionの種類

アルバム タイプ サブタイプ
自分のフォトストリーム Album AlbumMyPhotoStream
端末で作成したアルバム Album AlbumRegular
iTunesで同期したアルバム Album AlbumSyncedAlbum
カメラロール SmartAlbum SmartAlbumUserLibrary
お気に入り SmartAlbum SmartAlbumFavorites
パノラマ SmartAlbum SmartAlbumPanoramas
ビデオ SmartAlbum SmartAlbumVideos
スローモーション SmartAlbum SmartAlbumSlomoVideos
タイムラプス SmartAlbum SmartAlbumTimelapses

 

Apple API Developer Reference

PHAssetCollectionType
https://developer.apple.com/reference/photos/phassetcollectiontype
PHAssetCollectionSubtype
https://developer.apple.com/reference/photos/phassetcollectionsubtype