1. conflict(競合)したファイルをマニュアルで編集する
マニュアル編集で修正すべき競合箇所の例
1 2 3 4 5 |
<<<<<<< HEAD printf("Hello"); ======= printf("Bye"); >>>>>>> |
1 2 3 4 5 |
<<<<<<< HEAD printf("Hello"); ======= printf("Bye"); >>>>>>> |
XcodeのSchemeの設定が不適切だと実機デバッグで適切なロケールが選択されなかったり、[[NSLocale currentLocal] objectForKey:NSLocaleCountryCode]で適切なカントリーコードが取得できない(nilが返ってくる)
Xcode 7.3.1 のとき
Scheme => Edit Scheme
argumentsタブのArguments Passed On LaunchにリストアップしているAppleLanguage(xx)を全て削除する。
クローズされたPIPE(含、ネットワークソケット)にアクセスすると、アクセスしたプロセス(アプリ)に対して、SIGPIPEシグナルが通知される。
デフォルトではSIGPIPEシグナルを受信したプロセスは強制終了される。
強制終了を回避するためには、以下のいずれかの対策を取る必要がある。
1 |
signal(SIGPIPE, SIG_IGN); |
1 2 |
int value = 1; setsockopt(sock, SOL_SOCKET, SO_NOSIGPIPE, &value, sizeof(value)); |
アルバム | タイプ | サブタイプ |
---|---|---|
自分のフォトストリーム | Album | AlbumMyPhotoStream |
端末で作成したアルバム | Album | AlbumRegular |
iTunesで同期したアルバム | Album | AlbumSyncedAlbum |
カメラロール | SmartAlbum | SmartAlbumUserLibrary |
お気に入り | SmartAlbum | SmartAlbumFavorites |
パノラマ | SmartAlbum | SmartAlbumPanoramas |
ビデオ | SmartAlbum | SmartAlbumVideos |
スローモーション | SmartAlbum | SmartAlbumSlomoVideos |
タイムラプス | SmartAlbum | SmartAlbumTimelapses |
アプリが対応する最低のバージョン
アプリが対応する最新のバージョン。通常は "Latest iOS (iOS x.x)" を指定する。
NSDictionaryやNSArrayの要素としてnilを格納することはできない。
nilの代わりに[NSNull null]を格納する。
[NSNull null]はシングルトン。ただ一つのインスタンスを参照する。
[NSNull null] と nil の比較はできない。
1 2 3 4 5 6 7 8 |
NSDictionary *aDictionary = ... NSString *aName = [aDictionary objectForKey:@"name"]; NSString *aMessage; if (![aName isEqual:[NSNull null]) { aMessage = [aName stringByAppendingString:@" has passed."]; } |
1 |
NSLog(@"nil:%@", nil); // nil:(null) |
1 |
NSLog(@"[NSNull null]:%@", [NSNull null]); // [NSNull null]:<null> |
Xcode8 betaより、Xcodeの配布パッケージがdmg形式からxip形式に変更された
Finderでダブルクリックすれば、標準のアーカイブユーティリティが立ち上がり展開できる。ただしXcodeの場合は数十分かかる。
Objective-C の switch構文の内側でブロックを定義するとコンパイルエラー "Cannot jump from switch statement to this case label" が発生する。
case文の内側を { } で括る。
1 2 3 |
NSString *strURL = @"file:///private/var/mobile/Containers/Data/Application/25B9XXXX-XXXX-XXXX-XXXX-05A4B827XXXX/tmp/MyLocalPhotos/xxxx.jpg NSURL *aURL = [NSURL URLWithString:strURL]; |
1 2 3 |
NSString *strFilePath = @"/private/var/mobile/Containers/Data/Application/25B9XXXX-XXXX-XXXX-XXXX-05A4B827XXXX/tmp/MyLocalPhotos/xxxx.jpg NSURL *aURL = [NSURL fileURLWithPath:strFilePath]; |