appledeveloper

A collection of 88 post

[プレゼン資料] UVC(USB video class)と マルチプラットフォーム - UVC support by Apple multiplatform

2023年12月9日に行われた札幌iPhone開発勉強会でのプレゼンテーション資料。 iPadOS17以降でiPadでUVC(USB Video Class)がサポートされたので実際にハードウェアを接続して動作を確認した旨のプレゼンテーション。 iPadで動くだけでは面白みがないのでSwiftUI…

[プレゼン資料] SwiftUIむけに 整理された状態監視 Observation

2023年8月6日に行われた札幌iPhone開発勉強会でのプレゼンテーション資料。 iOS17から利用可能となるSwiftUIでの状態監視のためのフレームワークObservation について説明している。 以下資料内容を短くすると以下となる。 SwiftUI公開された2019年当初は別フレームワーク(Combine…

[プレゼン資料] Swift Concurrencyの 尻尾を掴め ~ 並行処理を受け入れる取っ掛かり

2022年3月18日に行われた札幌iPhone開発勉強会でのプレゼンテーション資料。 Swift Concurrencyの 尻尾を掴め ~ 並行処理を受け入れる取っ掛かり - Speaker Deck Swift Concurrencyについての話は公式(WWDC202…

Combine framework+RxCombineを使ってRxAlamofire(通信ライブラリ)を置き換える

端的に云うと RxSwiftを使った2つのサードパーティ製ライブラリに依存している通信機能を置き換える。 1) Reactiveプログラミングとライブラリ 2010年台後半にReactiveプログラミングのアイデアがiOSアプリ開発にも浸透。2020年台前半でも稼働、新規開発されているiOSアプリは多い。 Reactive…

プレゼンテーション資料 - watchOS8.0 対応ライブラリ&インターバルバックグランド更新

watchOS8.0 対応ライブラリ&インターバルバックグランド更新 - Speaker Deck 2021年12月15日に行われたオンライン勉強会iPhone Dev Sapporo feat. HAKATA.swiftでの発表資料。内容としてはwatchOSで使用可能なライブラリの紹介とwatchOS…

SwiftUIを使った可動表現(MechanicalArm) - SwiftUI100行チャレンジ⑤

骨格同士が関節に接合して動く表現をSwiftUIで実現する。対象者SwiftUIでの表現方法について知識を深めたいiPhoneアプリ開発者向け。チュートリアルからアイデアを得ているのでSwiftUIで何ができるのか興味を持っている開発者にも適している。 サンプルの動かし方を説明したのち、可動表現についての解説とSwiftUI…

自作アプリへのWidgetKit対応時に参考にしたWebサイト紹介(参照回数順) - SwiftUI

バッテリー状態表示アプリを2020年にiOS14から追加されたWidget機能にに対応した際に参考にしたサイトについて参照回数とコメントをつけて紹介する。 参照回数はSafariのタブブラウザで開いたままになっていたページを1カウントとしている。 サイト 参照回数 【iOS14】Widget(WidgetKit…

データ圧縮とApple Archive

パーソナルコンピューターで利用される圧縮機能についてのシンプルな解説とiOS13,macOS11からのAppleArchiveについての読み物。 1) データ圧縮の略史 パーソナルコンピューターが一般的に普及したのは2021年から四半世紀前の1995年のWindows95発売とそれに続くインターネット普及期(199…

SwiftUI100行サンプルチャレンジ① - Apple謹製シンボルリソースSF Symbols2とデバイスアイコンを表示する - iOS アプリケーション開発

SwiftUIは簡潔にUIを記述できる。100行内にUI付きのサンプルを記述できるのではないかという思いつきで100行(未満)でUI付きサンプルコードを記述できるのではないか?という発想で初めてみる。サンプルソースコードはGitGistで10…

[プレゼン資料]ウィジット設定ダイアログ WidgetConfiguration/CustomIntent - iOS Application Develop

2020年11月27に行われた札幌iPhone開発勉強会でのプレゼンテーション資料。 iOS14から追加されたウィジットの設定の追加方法をネタにSiri Custom Intentの実装方法入門編となっている。 記事としては以前に記述した内容のダイジェストとなっているので詳しく知りたい方は以下を確認して欲しい。 Apple…

Apple Widget考古学 - App Extension の技術Stack

ウィジットに関する読み物。OSXから数えると10年以上経過しているのでAppleのウィジットに関する経緯の確認。 端的に云うと WidgetKitはApple提供テクノロジーの塊。WidgetKitのベースとなる技術スタックは主役と脇役が入れ替わることがある。 1) ウィジット前史 = 原初のiPhone…

[プレゼン資料] Siri をだしにしてみる(Siri Develop Guide 2018)

2018年11月14日に行われら勉強会の資料を掲載している。 掲載には理由があってiOS14以降はウィジットの設定実装およびin-app intentの実装に伴いSiri Intent Extensionを再検討必要がありその振り返りの目的がある。 2018年年末だとExtensionやAppGroupなどSiri…

カメラアクセス非承認時のクラッシュタイミング(iOS/iPadOSアプリ)

アプリ開発始めた方、カメラアプリを何となく使っているアプリ開発者向け、カメラアクセス承認チェックが実装されていない古いアプリに触る機会を得たタイミングで得られた知見についてのメモ。 端的に云うと iOS カメラ機能を使う場合コードリーダー機能とカメラ機能でエラーが出るタイミングが異なるので問題切り分け時に注意する。 1) iOS…

[プレゼン資料] SwiftUI App/Scene - SwiftUI App/Scene の実際

2020年9月の勉強会資料。アプリのライフサイクルにSwiftUI Appを選べるようになり、SwiftUI App/Scene は簡潔にアプリライフサイクルを記述できるようになった。 WWDC2020で散々アピールされたけれども実際にはどうなの?を明らかにするプレゼンテーション資料。 内容としては過去のBlog…

既存iOSプロジェクトをSwiftUI Appへ移行する - アプリ開発者はSwiftUIにおけるAppDelegate/SceneDelegateの扱いをよく理解していない?

プロジェクトのLife CycleをUIKit App DelegateからSwiftUI Appへ移行するシンプルな作業に隠された。アプリの複雑さはどこに押し込められたのかという話。 note: 内容はSwiftUI への移行を迫ることを意図したものではなく移行時の注意点について記述した読み物。SwiftUI…

Multiplatform(マルチプラットフォーム)での画面サイズ情報入手手段3種 @ScaledMetric とEnvironment 、GeometryProxy を使い分ける - SwiftUI

画面などのサイズ情報のヒントはUIを構築する上で重要なヒントとなる。プラットフォームに依存したUI構築用フレームワークごとにサイズ情報が提供されていた。 マルチプラットフォームでのUI構築用フレームワークとしてSwiftUIはプラットフォームに依存せずにサイズ情報を取得するサポートが用意されている。 SwiftUI…

Derived Dataを消去した際に Swift Packages のパッケージ参照に失敗する際の対処方法

パッケージ参照に失敗する際の対象方法。過去にXcode上のSwift Package Managerを使って戸惑った&解決方法のメモ。 1) 中間コードの消去 Xcode11 以降を使用してiOSアプリを使っていると中間コードを消去して再ビルドするタイミングというのがある。中間ファイルはXcode のPreferences…

Xcode12 beta5 DocumentApp のテンプレートアプリ起動不能状態を回避する方法 - Multiplatform,iOS

Xode12 beta5ドキュメントアプリをビルドすると新規ドキュメントを開始できない状態になっている。次のXcode12、iOS14 SDKでは修正される可能性があるもAppleの修正を待っていてもドキュメントアプリ開発は進まないので回避方法についてのメモ。 追記 2020/8/26 Xcode12 beta6およびiOS…

サードパーティ通信ライブラリ考古学 - iPhoneアプリ開発

通信周りが不変であればサードパーティ整ライブラリ(Alamofire + Moya)は有意であろう。しかしアプリ開発の根底から覆すAppleと我々アプリ開発者は対峙しているのである。 1) Alamofireについて Swiftベースの通信ライブラリ。エレガントな通信処理が記述できるというのが触れ込みである。 GitHub…

私はカナダ人で、メートル法を使っています。

-Nahir Khan

声に出して読みたいWWDC2020②

WidgetKitについてでの発言。 I'm Canadian and we use metric. WidgetKitの説明中でWidget内容のカスタマイズ例にメートル法に言及する必要があるのはアメリカがインチ/ヤードを使っているためというのが日本だとピンとこない点で味わいがある。

SwiftUI 2はSwiftUIの理念をアプリ全体にまで拡張させたので開発者もそれに追随しよう、という話

SwiftUI2 を始めるにあたっての理屈を構築するための読み物。これまでのiOSアプリ開発者を対象。SwiftUI からiOSアプリをはじめる人にもSwiftUI の学習コストがこれまでに比べて低いと思える内容かもしれない。 1) SwiftUI2 SwiftUI 2は、SwiftUI 1からのアップデートとしてSwiftUI…

beta版 macOS をSSD 128GB モデルにインストールするための容量確保方法

macOSのbeta版をSSD 128GBにインストールするときに困るのがSSDの容量不足による警告でインストールすらできない状況。アプリや不要なドキュメントを削除しても容量が確保できないのは何故?という時がある。 今回の場合はBlogが役に立った。 不要なバージョンのiOS Simulatorを削除する - BLOG…

SwiftUI 1からみたSwiftUI 2の印象は?

2020年はSwiftUI 第2のメジャーリリースの年。AppleがUIに関する方針を大転換するのが目に見えたことにより多くのiOS開発者が今年から着手しているご様子。WWDC2020発表をSwiftUI 2とするとWWDC2019で発表されたのはSwiftUI 1と仮に命名し、a) SwiftUI 1とSwiftUI…

[プレゼン資料] SwiftUI,Combine Framework,KeyPath - 堅固な関係からSwiftUI への閾値を下げる

2020年1月の札幌iPhone開発勉強会での発表した資料。 SwiftUI を知るには、Combine Frameworkと、KeyPath の理解が必要不可欠ということについてプレゼンした際の資料。Combine Frameworkは宣言的に処理を記述するためのフレームワークであり、KeyPathはSwift…

[プレゼン資料] SwiftUIのライブコーディングするとxcodeが◯回落ちる

2019年の札幌iPhone勉強会で使用したプレゼンテーション資料です。 当時のSwiftUI は初期バージョンの中でも初期のものでAPIがコロコロ変わっていた時期。当然動作確認中に落ちることは想定範囲内であえてライブコーディングを行なった資料となります。