memo」カテゴリーアーカイブ

備忘録

Xcodeで実機デバッグのロケール設定をシステムに一致させる

XcodeのSchemeの設定が不適切だと実機デバッグで適切なロケールが選択されなかったり、[[NSLocale currentLocal] objectForKey:NSLocaleCountryCode]で適切なカントリーコードが取得できない(nilが返ってくる)

 

Xcode 7.3.1 のとき

Scheme => Edit Scheme


app language

argumentsタブのArguments Passed On LaunchにリストアップしているAppleLanguage(xx)を全て削除する。

 


app language

  • Application Language: System Language
  • Application Region: System Region

関連する投稿

SIGPIPEシグナル

クローズされたPIPE(含、ネットワークソケット)にアクセスすると、アクセスしたプロセス(アプリ)に対して、SIGPIPEシグナルが通知される。

デフォルトではSIGPIPEシグナルを受信したプロセスは強制終了される。

強制終了を回避するためには、以下のいずれかの対策を取る必要がある。

  1. SIGPIPEシグナルを無視する設定を与える
    1. 全面的に無視する
    2. ソケット個別に無視する。
  2. SIGPIPEシグナルをハンドラで処理する

 

参考


iOS Developer Library – ネットワーク処理において犯しがちな誤りの回避

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

Deployment Target と BASE SDK

iOS Deployment Target

アプリが対応する最低のバージョン

設定場所
(Xcode 7.3.1のばあい)
Xcode ⇒ PROJECT ⇒ Info ⇒ Deployment Target ⇒ iOS Deployment Target

 

Base SDK

アプリが対応する最新のバージョン。通常は "Latest iOS (iOS x.x)" を指定する。

設定場所
(Xcode 7.3.1のばあい)
Xcode ⇒ PROJECT ⇒ Build Settings ⇒ Architectures ⇒ Base SDK

[Obj-C] NSNull

NSDictionaryやNSArrayの要素としてnilを格納することはできない。
nilの代わりに[NSNull null]を格納する。

[NSNull null]はシングルトン。ただ一つのインスタンスを参照する。

[NSNull null] と nil の比較はできない。

 

比較の例

 

NSLogの出力の違い

拡張子 xip を扱う

背景

Xcode8 betaより、Xcodeの配布パッケージがdmg形式からxip形式に変更された

 

扱い方

Finderでダブルクリックすれば、標準のアーカイブユーティリティが立ち上がり展開できる。ただしXcodeの場合は数十分かかる。

続きを読む