[プレゼン資料] UVC(USB video class)と マルチプラットフォーム - UVC support by Apple multiplatform
2023年12月9日に行われた札幌iPhone開発勉強会でのプレゼンテーション資料。 iPadOS17以降でiPadでUVC(USB Video Class)がサポートされたので実際にハードウェアを接続して動作を確認した旨のプレゼンテーション。 iPadで動くだけでは面白みがないのでSwiftUI…
iOS
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…
端的に言うと Xcode14でビルトイン(built-in) 以外のSimulatorの追加と削除方法。 1) ダウンロードサイズが小さくなったXcode 2022年6月現在Xcode14 beta2がApple Developerで公開されている。beta版のmacOSのAppStore…
端的にいうと 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…
端的にいうと FirebaseデータストアサービスのタイプスタンプとiOS SDKのTimeinterval は桁調整が必要。 1) Firebaseが提供するデータストアサービス GoogleのFirebase はRealtimeDatabase(旧Firebase)、とGoogleFirestoreの…
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…
バッテリー状態表示アプリを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…
パーソナルコンピューターで利用される圧縮機能についてのシンプルな解説とiOS13,macOS11からのAppleArchiveについての読み物。 1) データ圧縮の略史 パーソナルコンピューターが一般的に普及したのは2021年から四半世紀前の1995年のWindows95発売とそれに続くインターネット普及期(199…
SwiftUIは簡潔にUIを記述できる。100行内にUI付きのサンプルを記述できるのではないかという思いつきで100行(未満)でUI付きサンプルコードを記述できるのではないか?という発想で初めてみる。サンプルソースコードはGitGistで10…
Xcode12のタブエディターの挙動を変更する方法。Xcode11以前からXcode利用している開発者向け内容。 1) Xcode12のタブエディター Xcode12バージョンアップ後、タブエディターのデフォルト挙動がXcode11以前から変更されている。Xcode1…
誰でも持っていそうなファイルを お見せします iPad Miniを使うネコの写真です
Uniform Type Identifiers — a reintroduction - Tech Talks - Videos - Apple Developer…
端的に云うと 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…
1) 概要 WidgetKit とApp Extensionに書いたBlogで、Custom Intentの仕組みに慣れるためにウィジット設定(WidgetConfiguration)が手頃だと書いたので、実際にシンプルなウィジット設定を実装していく。手順をスクリーンショットをつけて説明する。 Apple Widget…
端的にいうと iOS14.2現在、WidgetKitでは表示できるフォントサイズに制約がある。43pointより大きいサイズのフォントをText表示に使うとフォントが表示されない。 前提 SwiftUIとWidgetKitを使ってiOS…
WWDC2020のセクションとして公開される程度にはAppleはIntentについて熱心である。 Empower your intents - WWDC 2020 - Videos - Apple Developer 内容としてはIntentのチューニングに関わるIntent…
ウィジットに関する読み物。OSXから数えると10年以上経過しているのでAppleのウィジットに関する経緯の確認。 端的に云うと WidgetKitはApple提供テクノロジーの塊。WidgetKitのベースとなる技術スタックは主役と脇役が入れ替わることがある。 1) ウィジット前史 = 原初のiPhone…
ipaファイルをAppStoreConnect側に転送後にメールでITMS-90626警告が出たおよび対処メモ。使っていないSiri Intent Definitionはビルドターゲットからはずいておいた方が良い。 1) 条件 アプリにWidgetKit をターゲットで追加する際のウィザードでConfiguration…
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…
以前の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…
Xode12 beta5ドキュメントアプリをビルドすると新規ドキュメントを開始できない状態になっている。次のXcode12、iOS14 SDKでは修正される可能性があるもAppleの修正を待っていてもドキュメントアプリ開発は進まないので回避方法についてのメモ。 追記 2020/8/26 Xcode12 beta6およびiOS…
iOSアプリ開発者が知るinfo.plist ファイルがマルチプラットフォームでは複数用意されるという話。 Xcode12 からマルチプラットフォーム 向けのアプリが作成可能になっている。UIフレームワークであるSwiftUI を記法に沿って宣言すればiOS,iPadOS,macOS…
SwiftUIでドキュメントベースアプリを作る際に戸惑う要素としてUTI(Uniform Type Identifier)の捉え方である。 Uniform Type IdentifierはOSⅩ 10.4から混乱しがちなファイルの取り扱いを整理するための仕組みでmacOSアプリ開発者ならばおなじみだろうがiOS…