iOS

XCodeのコンソールに大量の"[Process] kill() returned unexpected error 1"が出力される

iOS 13.2以上で発生。 アプリ上でWKWebViewを使用するとコンソールに大量の"[Process] kill() returned unexpected error 1"が出力される。特にアプリに影響はないので無視して良い。 以下のバグが原因。既に修正されているが、iOS 13.3でもまだiOSには取り…

Objective-C 非同期処理テンプレート

Objective-Cでよく使用する非同期処理のコードテンプレート。 メインスレッドで非同期処理を実行する dispatch_async(dispatch_get_main_queue(), ^{ // メインスレッドで実行する処理 }); バックグラウンドのスレッドで非同期処理を実行する dispatch_async…

PDFKitでPDFの綴じ方向、見開き時の表紙設定を取得してセットする

PDFKitでPDFの以下の設定を取得し、セットする。 PDFの綴じ方向(右、左) PDFの単ページ、見開き設定および見開き時の表紙設定 どちらもPDFKitでは直接はサポートしていないので、CGPDFDocumentRefから設定を取得して自分でセットする必要がある。 PDFの綴じ…

CodaDataで"NSMergeConflict for NSManagedObject"エラーが発生する

CoreDataのNSManagedObjectContextインスタンスのsave:を実行した時にNSErrorが以下のエラーを返す。 NSError: code=133020, domain=NSCocoaErrorDomain, userInfo= { conflictList= ( NSMergeConflict (0x28164b080) for NSManagedObject (0x282e0ba70) wit…

XCodeでサポートされていないバージョンのiOSを使用しているデバイスにアプリをインストール&デバッグする

XCode 10ではiOS 13がインストールされているiOSデバイスに対してアプリをインストールしたりデバッグをすることはできない。XCode 11にバージョンをあげられない場合は、以下でXCode 10でもiOS 13のデバイスを扱うことができるようになる。 DeviceSupportフ…

How to identify user is iOS when 'Request Desktop Website' of Safari is enabled on iOS13.

iOS

Safari on iOS13 has a setting "Request Desktop Website" that changes value of 'userAgent' same with macOS 10.15. *The default value of this setting is on on iPadOS and off on iOS. The 'navigator' object properties when 'Request Desktop Web…

iOS13で「デスクトップ用Webサイトを表示」がOnになっている場合にUserAgentでマイナーバージョンを識別する

iOS

「デスクトップ用Webサイトを表示」がOnになっている場合、iOS13ではどのマイナーバージョンでもUserAgentには"Intel Mac OS X 10_15"としか記載されていないため、マイナーバージョンを判別できない。 iOS 13.2で「デスクトップ用Webサイトを表示」をOnにし…

iOS13のSafariで「デスクトップ用Webサイトを表示」がOnになっている場合にUserAgentでiOSかどうか識別する

iOS

iOS13ではSafariの設定「デスクトップ用Webサイトを表示」がOnになっている場合、UserAgentがmacOS10.15と同じ値に変化する。 *この設定はiOSではデフォルトでOff、iPadOSではデフォルトでOnになっている。 「デスクトップ用Webサイトを表示」がOffの場合のU…