2019-12-01から1ヶ月間の記事一覧

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

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

Windows: 右クリックで表示されるコンテキストメニューからファイルを任意のプログラムで開く

Windowsのエクスプローラ上でファイルを右クリックして表示されるコンテキストメニューから、そのファイルを任意のプログラムで開けるようにする。 *以下はファイルをバイナリエディタ"Stirling"で開けるように設定した例。 ※"Stirling"は以下からダウンロー…

SoftEtherでWindowsマシン上にVPNサーバ/クライアントを構築する

SoftEtherを使用してLAN内のWindows上でVPNサーバを構築し、別のLAN内にあるWindowsからVPNサーバに接続する。 VPN機能を搭載しているルータはたくさんあるが、Windows 10のVPNクライアント機能があまりにできが悪く不安定で接続できない場合が多々ある。そ…

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

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

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に印刷権限(低解像度…