iOS15

SwiftUI

【SwiftUI】onTapGestureで座標取得(iOS16以降)※iOS15までの代用方法あり

iOS16からonTapGetureで座標取得が可能になりました。非常に便利なのでしっかり確認しておきましょう。 onTapGestureで座標を取得する クロージャで座標を受け取れる様になりました。これだけで座標の取得ができます。 @St...
SwiftUI

【SwiftUI】@FocusStateの使い方

SwiftUIでは@FocusStateを使うことで入力フォームのフォーカスを制御出来ます。フォーカスを外してソフトウェアキーボードを閉じたり、他の入力フォームへ移動したり出来ます。 @FocusStateはiOS15からの機能ですので、そ...
開発全般

【UIKit】async/await

以前SwiftUIでasync/awaitの記事を書きましたが、折角なのでUIKit版も書きました。今回はStoryboard無しでAutoLayoutでやってます。 特に技術的な理由は無く私の好みの問題です。普段SwiftUIばかりなので...
Swift

【Swift】actorとActor属性(attribute)の違い

SwiftのActorはactorとして宣言する方法とActor属性でマークする方法があります。この2つの使い方では様々な違いがあります。 ActorはActorインスタンス毎に排他制御されます。まずは分かりやすくactorで宣言した場合で...
Swift

【Swift】非同期処理について(async、await、actor)

Swift5.5で非同期処理に大幅な追加が行われました。 非同期処理でお馴染みのasync、await、そして非同期処理に欠かせない排他制御の為のactorです。 async/await await async/awaitとよく言われますが...
Swift

【Swift】Actorがうまく動作しない(シミュレータ)

Actorの動作確認は実機で行うべきです。シミュレータでは実機と異なる動作をする場合があります。 おそらくシミュレータに割り当てられているスレッド数が少ないようで、異なるActorでも同一スレッドで動作します。 結果として、本来は異なるAc...
SwiftUI

【SwiftUI】Actor

Swift5.5(iOS15〜)でActorが追加されました。Actorにより排他アクセスを行う事ができ、非同期でスレッドセーフな処理を行う際に役立ちます。 Actorを使用するにはasync/awaitが前提知識として必要です。async...
SwiftUI

【SwiftUI】async/await

Swift5.5(iOS15〜)でasync/awaitが追加されました。async/awaitは非同期処理を行う際に使用するもので、以前ではDispatchQueueを使っていたものを書き換える事ができます。 他の言語の非同期処理を行なっ...
SwiftUI

【SwiftUI】iOS15でUIKitを使うとメモリ排他アクセスでクラッシュする

iOS15にアップデートした端末でテストしていると、iOS14では問題なかった箇所でクラッシュしていました。 UIViewControllerRepresentableで使用しているViewControllerでviewDidLoad内でa...
SwiftUI

【SwiftUI】iOS15でのATT(AppTrackingTransparency)対応

iOS15ではアプリ起動時にATTダイアログが出ません。ドキュメントでは以下の様に書いてあります。 Calls to the API only prompt when the application state is: UIApplicat...