開発– category –
-
XcodeでアプリとApp Extensionのバージョン番号を外部ファイルで一元管理する理由
QuickLook Extensionなどの、App Extensionを含むアプリ開発では、地味だけど地味じゃない「バージョン番号管理」。最初は気をつけていても、気づけばExtensionだけ古いまま。なんてことありませんか?私はその対策として、バージョン番号を外部ファイルで... -
dSYMを使ってアドレスからシンボル名を調べる
診断ファイル(*.diag)があるときに、リリース済みのアプリの場合、診断ファイル内のコールスタックにはアドレスしか書かれておらず、どこの処理なのかがわからないことがあります。このようなときはdSYMを使って、アドレスからシンボル名を調べて解析し... -
クラッシュログ(ipsファイル)のシンボル化
iOSアプリやmacOSアプリは、クラッシュすると自動的にクラッシュログファイルが作成されます。クラッシュログファイルは .ips という拡張子のファイルです。 クラッシュログファイルには、以下のような情報が入っています。 OSのバージョンやCPUアーキテク... -
自分の原稿のスタイルに合わせたtextlintルールを公開しました
次の本の原稿を書いています。その原稿の誤字脱字や表現のチェックを機械的に行うためにいろいろなサービスを契約し、試してきました。しかし、完全に満足できるサービスが見つかりませんでした。 そこで、textlintを使ってチェックするように設定し、独自... -
MS WordのdocxからMarkdownファイルに変換する
最近は原稿やドキュメントの作成に、Microsoft Wordを使用しています。以前はテキストエディタで直接Markdownファイルを作成していました。それを、Microsoft Wordを使用し、docxファイルを作成するように変えた理由は以下の通りです。 校正ツールを使用す... -
ASP.NET Coreの開発環境
ASP.NET CoreはWindows, macOS, Linuxで動作するクロスプラットフォーム対応のフレームワークです。エンタープライズ分野で使われることが多いと思います。最近、自分自身もASP.NET Coreを使うプログラムの開発を行っていて、本格的に触るようになってきま... -
Image Capture CoreのAPI移行
Image Capture CoreはApple PlatformでUSB接続されたカメラやスキャナと通信するためのフレームワークです。OSに標準で入っています。 macOS 10.6以降で使用可能で古くからあるフレームワークです。iOSでもiOS 13.0で導入され、MFI(Made For iPhone)が不... -
XCFrameworkの作成方法
XCFrameworkはiOSやiPadOS、macOSで利用可能な共有ライブラリです。フレームワークなので、単にバイナリファイルだけではなく、ヘッダーファイルやリソースファイルなどの関連ファイルをすべて含めることができます。SDKを作るときにもお勧めです。 この記... -
DoxygenでObjective-CのNS_ENUMを出力する
Doxygenはソースファイル中のコメントから、リファレンスドキュメントを出力するツールです。Objective-Cにも対応しています。Objective-Cで実装したSDKのヘッダファイルからAPIリファレンスを作成したときのことです。 Objective-CのNS_ENUMの説明が出力... -
UIScrollViewでナビゲーションバーの高さも考慮した中央揃えを行う
UIScrollViewの中にスクロールさせたいビュー(コンテンツ)を配置し、フィット表示させているときに、ナビゲーションバーなどの高さも考慮し、画面の中央にコンテンツを表示する方法について解説します。 この記事ではObjective-Cを使用していますが、Swi... -
SwiftUIで自動的にキーボードを表示する
SwiftUIで、TextFieldやTextEditorなど、編集可能なビューがある画面を表示する際に、自動的にキーボードを表示してすぐに入力できるようにする方法を調べたので、この記事にまとめました。 フォーカス状態を設定・取得する TextFieldやTextEditorのフォー... -
SwiftUIでViewをスクロールさせる
SwiftUIでコードでViewをスクロールさせたいときは、ScrollViewReaderを使用します。 この記事では使い方を紹介します。 使い方 ScrollViewReaderは次のような形で、ScrollViewの親ビューとして使用します。ScrollViewReaderのビュービルダーにはScrollVie... -
アップルからXcode 15.4がリリースされました
アップルからXcode 15.4がリリースされました。デベロッパーサイトやApp Storeからダウンロードできます。 動作環境は前回と変更なく、macOS Sonoma 14以降で動作します。 Web配布のシミュレーションに対応 アプリをXcodeから実行したときに、Web配布をシ... -
Base国際化使用への移行: 古いmacOSアプリ移植ノウハウ
macOS 10.5時代に開発した古いmacOSアプリを現代のOSに移植する作業を行っています。その中で、ビルドを通した物のデバッガにすら読み込まれず、起動できないという問題に遭遇しました。 今回の原因はローカライズリソースフォルダでした。 原因の調査 デ... -
App Store Connect へアップロードするアプリはXcode 15が必須
2024年4月29日以降、App Store Connectにリリースするアプリは、Xcode 15を使用してビルドする必要があります。また、このアップデートによりアプリはiOS 17, iPad OS 17, tvOS 17, watchOS 10との互換性を確保する必要があります。詳細は次の記事をご覧く... -
米国向けにはアプリ内購入から他の購入方法にリンクを張れるようになった
Apple App Store Review Guidelines が改訂され、アプリ内購入で、他の購入方法に関する情報を知らせるWebページに対して、リンクを張れるようになりました。 iOS 及び iPadOS アプリでは、アプリ内でデジタルコンテンツを購入する場合、 App Storeのアプ... -
Xcode 15.2の変更点: visionOSアプリの開発対応
Xcode 15.2が2024年1月8日にリリースされました。通常であれば、翌日には気がつくのですが、今回は年始の忙しさで昨日(12日)になって、ようやく気がつきました。 この記事ではXcode 15.2のリリースノートを元に、変更点の中から知っておいた方が役に立つ... -
macOSのKextの許可状態の取得
Apple Silicon Macではセキュリティポリシーが導入され、サードパーティのKextはやや複雑な手段を経なければ使用できなくなりました。ユーザーから見れば複雑、デベロッパーから見ればKextを使わざるを得ないにも関わらず、イメージが悪く、難しい操作をユ... -
アプリケーション内にインストーラーパッケージを内包させたときの公証
macOSアプリでアプリケーション(パッケージ)内に、追加オプションなどのインストーラパッケージ(pkg)を内包させることがあります。このときに注意するべきは、アプリケーション内のどのディレクトリにインストーラパッケージを配置するかです。 アプリ... -
SwiftUIでカラーピッカーを作る 連載目次
この連載記事では、SwiftUIを使って独自のカラーピッカーを実装します。 連載目次