[プレゼン資料] UVC(USB video class)と マルチプラットフォーム - UVC support by Apple multiplatform
2023年12月9日に行われた札幌iPhone開発勉強会でのプレゼンテーション資料。 iPadOS17以降でiPadでUVC(USB Video Class)がサポートされたので実際にハードウェアを接続して動作を確認した旨のプレゼンテーション。 iPadで動くだけでは面白みがないのでSwiftUI…
Swift
2023年12月9日に行われた札幌iPhone開発勉強会でのプレゼンテーション資料。 iPadOS17以降でiPadでUVC(USB Video Class)がサポートされたので実際にハードウェアを接続して動作を確認した旨のプレゼンテーション。 iPadで動くだけでは面白みがないのでSwiftUI…
2023年8月6日に行われた札幌iPhone開発勉強会でのプレゼンテーション資料。 iOS17から利用可能となるSwiftUIでの状態監視のためのフレームワークObservation について説明している。 以下資料内容を短くすると以下となる。 SwiftUI公開された2019年当初は別フレームワーク(Combine…
2023年6月28日に行われた札幌iPhone開発勉強会でのプレゼンテーション資料。 WWDC23 で発表されたSwift5.9の新機能についてまとめたプレゼンテーション資料。より簡潔にソースコードを記述できるif/else switchを式として扱うアップデートから、generic…
2022年12月20日に行われた札幌iPhone開発勉強会でのプレゼンテーション資料。 WWDC222 で発表されたメモリ空間の違いにかかわらずデータ転送可能可能とするprotocol Transferable…
端的にいうと SwiftUIベースPush通知のテストベッドコード。アプリ表示中での通知有効。 1)プッシュ通知のテストコードが欲しい プッシュ通知はXcode1…
2022年6月25日に行われた札幌iPhone開発勉強会でのプレゼンテーション資料。 WWDC22で発表されたプログラミング言語Swift5.7(正式リリースは22年秋)についてのプレゼンテーション資料。 1) 概要 新しく追加されたanyというキーワードに説明するためには対となるsome…
端的にいうと CoreLocationの位置情報取得認証フローをasyc/awaitを使って実装する。 1) WeatherKitを使いたい iOS16 SDKから追加された天気情報を読み取るサービスWeatherKit のWWDC22セッションビデオが公開されていた(1…
iOS16 の機能としてWeatherKitが公開、iOS16から使えるネイティブフレームワーク(Swift API)に加えREST APIでも提供されるためiOS15以前のOSでも利用が可能。APIリクエストは500k/月リクエストまでは無料で以後は段階的課金となる。 Platforms State of the Union…
2022年3月18日に行われた札幌iPhone開発勉強会でのプレゼンテーション資料。 Swift Concurrencyの 尻尾を掴め ~ 並行処理を受け入れる取っ掛かり - Speaker Deck Swift Concurrencyについての話は公式(WWDC202…
端的にいうと Combine Frameworkのシンプルなテストベッドコード。 1) Combine Frameworkのテストベッドが欲しい Combine Frameworkを使ったコードを書く場合、記述したコードの結果を表示しながら作成したいことがある。本来モデルクラスを作成したうえでSwiftUI…
端的に云うと RxSwiftを使った2つのサードパーティ製ライブラリに依存している通信機能を置き換える。 1) Reactiveプログラミングとライブラリ 2010年台後半にReactiveプログラミングのアイデアがiOSアプリ開発にも浸透。2020年台前半でも稼働、新規開発されているiOSアプリは多い。 Reactive…
watchOS8.0 対応ライブラリ&インターバルバックグランド更新 - Speaker Deck 2021年12月15日に行われたオンライン勉強会iPhone Dev Sapporo feat. HAKATA.swiftでの発表資料。内容としてはwatchOSで使用可能なライブラリの紹介とwatchOS…
端的にいうと watchOSアプリのComplicationsのバックグラウンド更新処理呼び出しのサンプル。 1) watchOSアプリのComplications機能 AppleWatchでは時計盤面上で各種情報を表示できる。各種情報はComplicationsと呼ばれwatchOS…
2021年5月2日に行われた札幌iPhone開発勉強会でのプレゼンテーション資料。 Firebase for iOS 初手〇〇 - Speaker Deck 内容としてはモバイル向けBaaS(mBaaS)として機能が充実したGoogleのFirebase についての説明と、最初に何をするかについて説明した資料。 メモ: 202…
WWDC2021が6月7日に開催されるに向けて札幌のiPhoneアプリ開発者によるAppleの発表予測をPodCastへ公開しております日本語。 #68 大胆予想!WWDC21でSwiftUIは新たな領域に突入する!? – AirSap 予測担当としてPodCast…
SwiftUIのColorについての備忘録。Colorは型(文字列や数値)のように扱う事はできないのでSwiftUIでの条件分岐で使用できない(常にfalse)。解決例についても説明する。 1) 概要 SwiftUIのColorはSwiftUI内部でのみ適用される色構造体となっている。色というよりは形状を持たないShape…
端的にいうと Swiftの列挙定義を拡張するにはCaseIterableプロトコルを用いる CaseIterableプロトコルを用するとallCasesプロパティが利用できる UIKitのサンプルコードをSwiftUIに置き換えてみる 1) enum〜case概要 Swift…
端的にいうと Apple謹製のテストアプリ配布機能TestFlightが優秀 TestFlightで本番/テスト環境をそれぞれ配布したい 本番/テスト環境を把握できるテクニックを紹介 SwiftUIで実装しているがUIKitでも適用可能 1) TestFlight概要 iOS/iPad…
端的にいうと SwiftUI100行チャレンジ エピソード7。TextFieldの使用例。 1) TextField概要 SwiftUIから提供されているプレーンな文字入力ウィジット。UIKit(iOS SDKのテキスト入力フィールド)のUITextField…
2021年3月26日に行われた札幌iPhone開発勉強会でのプレゼンテーション資料。 SwiftUIのTextFieldについてサンプルコードと解説Blogを投稿しようとした際に、@定義(State, Environment, AppStorage…
SwiftUIを使用したアプリ開発を始めるにあたって参考になる記事を見つけたので紹介する。 SwiftUI State Management Fundamentals | by Mykola Harmash | Medium SwiftUIはUI構築のタイミングと具体的な処理をレンダラーと呼ばれるUI…
アプリ情報永続化(UserDefaults)について古典コラム。内容としては最初期の開発者向けだが、iOSアプリ開発の紆余曲折を知るにも良いかもしれない。 1) UserDefaultsを使用する@AppStorage SwiftUIで@AppStorageという@定義が用意されている。WWDC2020で発表されたSwiftUI…
序) 投稿は人のためならず(自分のためになる) プレゼンテーションとして公開したPhotoKit/Photos.framework についてまとめた資料について2015年に公開している。 Photos vs Assets Library - いまさら始めるPhotos.framework Photos.framework…
端的にいうと ベクターツールなのにソースコードを生成するPaintCodeとSwiftUIでの利用方法についての記事。SwiftUIのShapeでPaintCodeを活用する方法。 1) Pathを使うのが辛い SwiftUI TutorialsはApple謹製のSwiftUIチュートリアルでありSwiftUI…
序文 モバイルアプリのクラッシュ状況を集計してくれるサービスがFabric Crashlyticsが終了しFirebase Crashlyticsに移行されて久しい(Fabric Crashlyticsは2020年3月)。 企業/個人の主要アプリであればFabric Crashlytics…
端的にいうと SwiftUI100行チャレンジ エピソード6。アプリ情報の永続化とUIの手軽さが魅力のSettings.BundleとSwiftUIとの組み合わせサンプル。SwiftUIからアプリ開発に取り組み始めた開発にとってはTipsとして機能するかもしれない。 2020/3/1 @AppStore…
骨格同士が関節に接合して動く表現をSwiftUIで実現する。対象者SwiftUIでの表現方法について知識を深めたいiPhoneアプリ開発者向け。チュートリアルからアイデアを得ているのでSwiftUIで何ができるのか興味を持っている開発者にも適している。 サンプルの動かし方を説明したのち、可動表現についての解説とSwiftUI…
バッテリー状態表示アプリを2020年にiOS14から追加されたWidget機能にに対応した際に参考にしたサイトについて参照回数とコメントをつけて紹介する。 参照回数はSafariのタブブラウザで開いたままになっていたページを1カウントとしている。 サイト 参照回数 【iOS14】Widget(WidgetKit…
端的にいうと Apple向けドキュメントアプリ開発者向けのHowToメモ。既存アプリが対応しているファイル形式を、拡張子を糸口として必要なファイル形式情報を調べることができる。 概要 SwiftUIではmultiplatform…
2021年1月27に行われた札幌iPhone開発勉強会でのプレゼンテーション資料。 multiplatform…
SwiftUI100行チャレンジシリーズ-エピソード4。 公開されているFlutterのウィジット(UIパーツ)の挙動をSwiftUIで再現していく。SwiftUIの構成手順についての理解を深める。最初に再現するUIパーツの紹介をした後、サンプルコードを示した後、アニメーションの再現方法、View…
SwiftUI100行チャレンジシリーズ-エピソード3。 公開されているFlutterのウィジット(UIパーツ)の挙動をSwiftUIで再現していく。SwiftUIの構成手順についての理解を深める。最初に再現するUIパーツの紹介をした後、サンプルコードを示した後、UI…
以前投稿したブログにてApple謹製のアーカイブ機能フレームワークAppleArchiveの性能について比較する旨の内容を記述していた。本ブログはアーカイブ処理を介してApple M1チップとIntel チップのCPU性能を比較する。 Apple Archive - Apple…
SwiftUIは簡潔にUIを記述できる。100行内にUI付きのサンプルを記述できるのではないかという思いつきで100行(未満)でUI付きサンプルコードを記述できるのではないか?という発想で初めてみる。サンプルソースコードはGitGistで10…
端的に云うと CoreData有効のテンプレートは初手コード修正(Xcode12.2対応版)。SiwftUIベースのアプリを作ろうとしたところ白画面が出てきた場合はCoreData有効チェックを疑ってみる。 1) CoreData CoreData…
2020年11月27に行われた札幌iPhone開発勉強会でのプレゼンテーション資料。 iOS14から追加されたウィジットの設定の追加方法をネタにSiri Custom Intentの実装方法入門編となっている。 記事としては以前に記述した内容のダイジェストとなっているので詳しく知りたい方は以下を確認して欲しい。 Apple…
UserAgentをアプリから切り分けられるからといって安易に採用するとトラブルが起きるという話。 1) WebブラウザのUserAgennt サービス向けのPC/モバイル向けサイトとモバイルアプリ向けサイトを共有するとWebから見るとモバイルの開発コストが浮く。コストだけではなくWeb…
SwiftUIの学習程度を把握するのに便利な記事を見つけたので紹介。 On the road to learn SwiftUI. I have created this SwiftUI Developer… | by Karin Prater | Nov, 2020 | Medium リンク先のBlog…
iOS14のウィジットの設定ダイアログを出すためにCustom Intentを使う機会を得たのでその際に遭遇した大小様々なトラブルと対処方法についてのメモ。 Custom Intentでのボイラープレートコードを排除すべくintentdefinition…
2018年11月14日に行われら勉強会の資料を掲載している。 掲載には理由があってiOS14以降はウィジットの設定実装およびin-app intentの実装に伴いSiri Intent Extensionを再検討必要がありその振り返りの目的がある。 2018年年末だとExtensionやAppGroupなどSiri…
端的に言うと Apple謹製のアーカイブフレームワークApple Archiveの説明。WWDC2020のセッションにもならないほどのシンプルさ。iOS14以降対応で2020年に話題となったAppleSiliconに最適化されている。Appleの殿堂(Apple Archive)というわけではない。 追記 2020年12月2…
SwiftUI のApp/Sceneのカスタマイズが必要となる機能一覧とサンプルコード。 1) 概要 WWDC2020で喧伝されたSwiftUI App/Scene Multiplatformに対応したアプリライフサイクルコードを簡潔にに記述できるという触れ込みであったが、実際はPlatform…
アプリ開発始めた方、カメラアプリを何となく使っているアプリ開発者向け、カメラアクセス承認チェックが実装されていない古いアプリに触る機会を得たタイミングで得られた知見についてのメモ。 端的に云うと iOS カメラ機能を使う場合コードリーダー機能とカメラ機能でエラーが出るタイミングが異なるので問題切り分け時に注意する。 1) iOS…
2020年9月の勉強会資料。アプリのライフサイクルにSwiftUI Appを選べるようになり、SwiftUI App/Scene は簡潔にアプリライフサイクルを記述できるようになった。 WWDC2020で散々アピールされたけれども実際にはどうなの?を明らかにするプレゼンテーション資料。 内容としては過去のBlog…
Xcode12でMultiplatform の選択肢がGameだけになった(Xcode betaにはApp,DocumentAppが存在)点についてのメモ。 AppleのフォーラムではXcode12.2 betaではMultiplatformにApp,DocumentApp を選べるとのこと。 Apple…
以前のBlog投稿でSwiftUIでもiOS/iPadのAppDelegate/SceneDelegateは有効という内容を書いている。 イベントを捕捉するという話の続きとしてSwiftUIでStatusBarのスタイル変更機能が整理されている点について記述する。 端的に言うと StatusBar…
私は最近 家で料理を始めました “レシピアシスタント”という お気に入りのレシピを探せる アプリケーションを使い料理に取り組んでいます。
Empower your intents - WWDC 2020 - Videos - Apple Developer iOS1…
プロジェクトのLife CycleをUIKit App DelegateからSwiftUI Appへ移行するシンプルな作業に隠された。アプリの複雑さはどこに押し込められたのかという話。 note: 内容はSwiftUI への移行を迫ることを意図したものではなく移行時の注意点について記述した読み物。SwiftUI…
画面などのサイズ情報のヒントはUIを構築する上で重要なヒントとなる。プラットフォームに依存したUI構築用フレームワークごとにサイズ情報が提供されていた。 マルチプラットフォームでのUI構築用フレームワークとしてSwiftUIはプラットフォームに依存せずにサイズ情報を取得するサポートが用意されている。 SwiftUI…
iOS13 SDKでビルドしたアプリをiOS14 対応する際にメモ。Apple Silicon対応で例年にはないトラブルが発生中、SwiftUI プレビューはHot Reloadではないという話。 Xcode12 beta6 にてFirebase iOS SDKを組み込んだプロジェクトでSwiftUI Preview…
Cocoapodsでミドルウェア導入しているiOSプロジェクト。Deployment TargetをiOS13からiOS14へ変更する場合のメモ。 Xcode11 のプロジェクトをXcode12 beta5 でビルドした際に対応OSを13から14へ変更し、ミドルウェア導入用のCocoapodsの設定をPodfile…
パッケージ参照に失敗する際の対象方法。過去にXcode上のSwift Package Managerを使って戸惑った&解決方法のメモ。 1) 中間コードの消去 Xcode11 以降を使用してiOSアプリを使っていると中間コードを消去して再ビルドするタイミングというのがある。中間ファイルはXcode のPreferences…
Xode12 beta5ドキュメントアプリをビルドすると新規ドキュメントを開始できない状態になっている。次のXcode12、iOS14 SDKでは修正される可能性があるもAppleの修正を待っていてもドキュメントアプリ開発は進まないので回避方法についてのメモ。 追記 2020/8/26 Xcode12 beta6およびiOS…
SwiftUIでドキュメントベースアプリを作る際に戸惑う要素としてUTI(Uniform Type Identifier)の捉え方である。 Uniform Type IdentifierはOSⅩ 10.4から混乱しがちなファイルの取り扱いを整理するための仕組みでmacOSアプリ開発者ならばおなじみだろうがiOS…
SwiftUI はドキュメントベースアプリに力を入れておりSwiftUI 1st major releaseの2019年からドラッグ&ドロップの処理に積極的だったのでドキュメントベースに力を入れていることは明らかだった。 SwiftUI 2st major releaseの202…
ES6仕様のJavaScriptNodeJSを扱う際のメモリとActionScript3.0と連続性をもっているのは実はApple開発者ではないかと云う話。 1) ES6に取り組む GatbyJS ベースでブログを構築する際タイミングでjavaScript記述方法をES6仕様に直しながら作業に取り組んだ(ES…
端的に云うと 現状動いていることを確認できるのはApple提供のサンプル。AppleのドキュメントはComplications更新の手引きにある4つの手段は2020年の状態で全て有効なのかは確認できない。 Creating and Updating Complications | Apple Developer…
通信周りが不変であればサードパーティ整ライブラリ(Alamofire + Moya)は有意であろう。しかしアプリ開発の根底から覆すAppleと我々アプリ開発者は対峙しているのである。 1) Alamofireについて Swiftベースの通信ライブラリ。エレガントな通信処理が記述できるというのが触れ込みである。 GitHub…
SwiftUIの腰が重たいアプリ開発者へのお怒り。SwiftUIの素振り待ったなし。 a) 勉強会について iPhoneDevSapの勉強会が2020年7月末に開催(各月奇数開催、オンライン開催2回目)、発表者3名の1人を担当した。 WWDC2020でインパクト大の内容だったSwiftUIの進化がそのまま発表に反映、発表…
私はカナダ人で、メートル法を使っています。
WidgetKitについてでの発言。 I'm Canadian and we use metric. WidgetKitの説明中でWidget内容のカスタマイズ例にメートル法に言及する必要があるのはアメリカがインチ/ヤードを使っているためというのが日本だとピンとこない点で味わいがある。
5年前の自分に一つ言えるとしたら、UIプログラミングは大変だということです。
Introduction to SwiftUIでの発言。 If I could tell myself from five years ago one thing about my job, it would be that UI programming is hard. Apple社内の人がUI…
2020年7月の勉強会資料。SwiftUI 2nd major releaseで追加された@StateObject @UIApplidationDelegateAdapter についてのプレゼンテーション資料。 内容としてはSwiftUI はUIの種類が増えた、SwiftIU…
SwiftUI 2nd major release で追加された@StateObject の機能を確認するためのXcodeカタログワークスペース。比較対象としてSwiftUI 1st major releaseで用意された@ObservedObject を用意し、オブジェクトの寿命の違いを確認する。 notoroid…
SwiftUI2 を始めるにあたっての理屈を構築するための読み物。これまでのiOSアプリ開発者を対象。SwiftUI からiOSアプリをはじめる人にもSwiftUI の学習コストがこれまでに比べて低いと思える内容かもしれない。 1) SwiftUI2 SwiftUI 2は、SwiftUI 1からのアップデートとしてSwiftUI…
SwiftUI からアプリ開発始めた方を想定した@UIApplicationDelegateAdapter を題材とした読み物。 1) SwiftUIとそれ以外の世界 SwiftUIは宣言的にAppleのOS上で動作するUIを記述できるフレームワークで、Webプログラミングにおける記述したコードをWeb…
2020年はSwiftUI 第2のメジャーリリースの年。AppleがUIに関する方針を大転換するのが目に見えたことにより多くのiOS開発者が今年から着手しているご様子。WWDC2020発表をSwiftUI 2とするとWWDC2019で発表されたのはSwiftUI 1と仮に命名し、a) SwiftUI 1とSwiftUI…
SwiftUIのセッションの内容を確認し、SwiftUI 1のプロジェクトのビルドを試しています。 Podcast 向けにSwiftUIについて話す機会を得たので、話す内容を簡潔にまとめてみます。 1) SwiftUI単体でアプリを構成できるように SwiftUIの最初のリリースでは画面の一部をSwiftUI…
2020年6月に開催されたWWDC2020では、SwiftUI セカンドシーズンに伴ってSwiftUI が1に比べて大化けしました。 公開に伴って大量のセッションがWeb及びAppleDveeloper…
2020年5月の勉強会資料。当初目標に達成するまで10ヶ月も経過し1ヶ月後にはWWDC2020だよねという趣向のプレゼン資料。 内容としてはwatchOS上で動作するアプリを実装するにあたりSwiftUIを活用することでUI周りのコストは最小限に抑えられたがwatchOS…
2020年1月の札幌iPhone開発勉強会での発表した資料。 SwiftUI を知るには、Combine Frameworkと、KeyPath の理解が必要不可欠ということについてプレゼンした際の資料。Combine Frameworkは宣言的に処理を記述するためのフレームワークであり、KeyPathはSwift…
充電報告さんは2019年に公開した最新アプリです(2020年現在)。iPad,AppleWatch対応。 オリジナルアプリをSwiftUI で再構築し直したアプリです。2019年のSwiftUI 発表後にSwiftUI を評価するための手段として既存アプリをどの程度再現できるかを試み。不確定だったSwiftUI…
2019年の札幌iPhone勉強会で使用したプレゼンテーション資料です。 当時のSwiftUI は初期バージョンの中でも初期のものでAPIがコロコロ変わっていた時期。当然動作確認中に落ちることは想定範囲内であえてライブコーディングを行なった資料となります。