24/7 twenty-four seven

iOS/OS X application programing topics.

2019-01-01から1年間の記事一覧

iOSDC 2019で「ライブラリのインポートとリンクの仕組み完全解説」という話をします

スケジュール 2019/9/6(金) 10:50〜 Track Aレギュラートーク(60分) Proposal: ライブラリのインポートとリンクの仕組み完全解説 概要(リンクにまつわる問題) インポート・リンクの仕組みがよくわかっていない状態だと、エラーと自分の加えた変更が結…

FolioのiOSチームで利用しているFastfileとBitriseワークフロー

FolioのiOSチームではさまざまなタスクをそこそこ高度に自動化していると思うので、(そのまま別のプロジェクトで使いまわせるほどポータブルではないけど)参考にしてもらえる部分はけっこうありそうと思うので公開リポジトリに置いてみました。 github.com…

iOS 13にしかないフレームワークを使用したアプリをiOS 12以下でも動くようにするには

SwiftUI、Combile、RealityKitなどiOS 13以上の環境にしか存在しないフレームワークを使用するアプリをiOS 12以下の環境で実行すると、その機能を実際に呼び出さないようにしていたとしても、起動時にダイナミックリンクに失敗してクラッシュしてしまいます…

CocoaPodsをWorkspaceに自動統合せずに利用する

背景 現在のiOSアプリ開発におけるパッケージマネージャのデファクトスタンダード(事実上の標準)としてCocoaPodsとCarthageがあります。Xcode 11からはSwift Pacakge ManagerがXcodeに統合されて利用できますが、ライブラリ側の対応が必要ということや、ベ…

OpenAPI (Swagger) のコード生成から通信処理を分離してスキーマ定義だけを利用する

背景 今関わっているプロジェクトではOpenAPIを利用して、APIのスキーマを定義しています。 OpenAPIではスキーマ定義からクライアントコードを生成できます。 しかし、デフォルトのコード生成はスキーマ定義とネットワーク通信のコードが強く結びついており…

SceneKitとCALayerで作る3Dのスライドショー

大型ディスプレイに投影するデジタルサイネージを作る仕事をしました。 できあがったのがこれです。 github.com まず、アートディレクターと相談して、下記の映像を参考にして3D空間を飛び回るようなスライドショーでいこうと決めました。 www.youtube.com w…