iOS アプリ開発に関連するトピックを提供しています。

MacBook Pro 15-inch 2019年モデルを使用した Xcode ビルド時間の比較

iOS アプリ開発に使用している MacBook を 2016 年モデルの MacBook Pro 13-inch から、 2019年 モデルの MacBook Pro 15-inch へアップデートしました。今回は 3 種類の iOS アプリについて、ビルド時間がどの程度短縮されたかを計測しました。

Swift と CryptoTokenKit を使用してマイナンバーカードのデータを取得する

Swift と ICカード用のフレームワークである CryptoTokenKit を使用して、マイナンバーカードに含まれるデータを参照するサンプルアプリケーションを作成しました。

Swift と CryptoTokenKit を使用して運転免許証のデータを取得する

日本の運転免許証は IC カードになっており、市販のカードリーダー等を使用することで IC チップに記録された各種情報を参照できます。Swift と ICカード用のフレームワークである CryptoTokenKit を使用して、運転免許証に含まれるデータを参照するサンプル…

アプリの画面を高解像度でミラーリングする HiResMirroring

2018 年モデルの iPad Pro 10 inch / 12 inch は 4K ディスプレイと接続することで、従来よりも解像度の高い外部ディスプレイ出力が使用可能です。外部ディスプレイ側の解像度を基準として、iPad に対してミラーリングすることができれば高解像度を余すこと…

ConsoleAPI で swift でも console.log を使用する

Chrome DevTools (Javascript) の Console API を参考に、swift でも各種情報をコンソールに出力する ConsoleAPI フレームワークを作成しました。 github.com ConsoleAPI をアプリに組み込むと、Webアプリのように console から始まる各種関数を使用すること…

iOS のタッチイベントをシミュレートする FakeTouch

iOS 端末ではユーザーが画面をタッチすると、 UITouch を内包した UIEvent が生成されアプリに渡されます。 UITouch や UIEvent はイニシャライザが公開されていないため通常はアプリからは生成できませんが、プライベート API を使用することでその制限を回…

センターデータを可視化する VisualizationKit

Android の AR Sensor というアプリに触発され、iOS でも同様にセンサーデータを可視化するためのコードを公開しました。 github.com AR Sensor と同じように、Wifi、Cellular、磁気、Bluetooth の強度を検出し ARKit を使用して空間上に球体を配置します。…

storyboard2code で Storyboard ファイルを Swift コードに変換する

Storyboardで定義されている画面デザインを、Swift コードに変換する storyboard2code というコマンドラインツールを作成しました。 github.com Storyboard と Swift コード iOS アプリの UI を実装する際に、Storyboard を使用するか、それとも Swift コー…

Xcode Playground / Swift Playgrounds で各種 iPhone の画面サイズを再現する iPhoneSimulator for Playground

Xcode Playgrounds / Swift Playgrounds で手軽に各種 iPhone 端末の画面サイズを再現できる ViewController を作成しました。 この ViewController を使用すると、Storyboard Editor 上で端末サイズを変更するように、Playground の画面サイズを変更するこ…

逆アセンブラを使用した iOS アプリのリバースエンジニアリング

ipaファイルとして提供されているアプリや、ソースコードが公開されていないフレームワークについて深く調査したい場合、逆アセンブラを活用できます。 この記事では逆アセンブラツール「Hopper」を使用して iOS アプリをリバースエンジニアリングする方法に…

Kotlin を使用して Swagger Code Generator に独自のコード生成モジュールを追加する

Swagger は API デザインのデファクトとして広く使用されています。Swagger 公式のコード生成機能は Swagger Code Generator としてソースコードが公開されており、必要に応じて出力されるコードをカスタマイズすることができます。 この記事では Kotolin を…

不正なアプリや規約違反について Apple に通報する

もしもウィルス対策アプリが個人情報を不正に送付していることに気づいたり、社内専用のアプリを不特定多数へ配布する規約違反行為を発見した場合は、Apple のサイトから不正行為として通報することができます。 この記事では不正なアプリや、規約に違反して…

Apple Developer Enterprise Program 規約違反による処罰例(H.I.S.モバイル「変なSIM」アプリ)

「変なSIM」iPhone アプリは Apple Developer Enterprise Program の規約違反により削除されました。社内専用アプリを不特定多数のユーザーに配布することは重大な規約違反となります。 この記事では H.I.S.モバイルが行なった規約違反と、App Store 以外か…

UIWindow を拡張して iOS アプリのスクリーン解像度を高める

UIWindow に対して CGAffine Transform による拡大・縮小と frame のサイズ変更を組み合わせることで、擬似的にアプリのスクリーン解像度を高めることができます。この記事ではより多くのコンテンツを表示するためにどのように UIWindow をアレンジしていく…

Location Simulator を使用してiOSデバイスの位置情報を偽装する

iOS デバイスの位置情報を偽装してくれるツール "idevicelocation" をより便利に使用するためのアプリ "Location Simulator" を作成しました。 この記事では Location Simulator のビルドと操作方法について説明します。

idevicelocation を使用して iOS デバイスの位置情報を偽装する

オープンソースツールである `idevicelocation` を使用すると、コマンドラインから iOS デバイスの GPS 位置情報を偽装することができます。この記事では `idevicelocation` を mac に導入して、iOS デバイスの GPS 位置情報の偽装を実行する方法を説明しま…

Core Data Editor のプロジェクト表示を高速化する

Core Data Editor は Core Data に格納されたデータを閲覧・編集することができるオープンソースのアプリです。この記事では Core Data Editor のプロジェクト読み込み時間を短縮するために行った修正について記述します。