macOS

Notarizationに失敗した場合の対処方法

Notarizationに失敗した場合、Appleから以下のタイトルのメールが届く。 Your Mac software was not notarized. Organizerを使用してNotarizationを行なっている場合はそこで詳細を見ることができる。 コマンドを使用してNotarizationを行なっている場合はRe…

macでアプリをインストールすると「ほかのインストールが完了するまでお待ちください...」と表示されて処理が進まない

環境 macOS 10.14.6で確認 症状 アプリのインストーラを実行した時に以下のように「ほかのインストールが完了するまでお待ちください...」と表示されて処理が進まない。 とりあえず待つが、いつまで待っても処理は進まない。他に実行されているインストーラ…

macOS: アプリ内で管理者権限でコマンドを実行する

macOSのアプリ内で指定したコマンドを管理者権限で実行する。 関数の実装 // Authorization系APIの返り値をチェックする // @param status 返り値 // @param apiName 実行したAPI名 void checkAuthorizationStatus(OSStatus status, NSString* apiName) { if…

PDFKit bug: PDFDocument properties return wrong security permissions.

XCode 10.3, macOS 10.14 *I don't check it on iOS. Bug details We can get security permissions of PDF by following properties of PDFDocument instance. But It's not correct permissions on some cases. developer.apple.com If PDF has printing p…

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

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

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

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

PDFKitのバグ: PDFDocumentが間違ったセキュリティ権限を返す

XCode 10.3, macOS 10.14で確認。 *iOS上では未確認。 症状 macOSのPDFKitでPDFDocumentインスタンスの以下の値を使用してPDFにセットされているセキュリティ権限を取得すると、正しく取得できない場合がある。 developer.apple.com PDFに印刷権限(低解像度…

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

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

macOS 10.15以上でアプリを実行するために必要になるNotarization処理

アプリのNotarization macOS 10.15以上でアプリを配布する場合、アプリのNotarizationを行う必要がある。App Storeからアプリを配布する場合はXCodeでアップロードする際に行われるので、特に気にする必要は無い。 Notarizing macOS Software Before Distrib…