おすすめ書籍はじめにsuzukiさんが以前の記事でWidget機能ついて紹介してくれていますが、今回はxcode12も正式リリースされましたし、より実践的なWidgetKitの使い方を紹介したいと思います。Extensionでしたが、WidgetKitとはどのような違いがあるか以下にまとめました。Extensionではミニアプリ的な側面もありましたが、WidgetKitでは完全に別物としてデザインしなければ行けないと思います。ターゲットの追加ターゲットの追加方法に関しましては、以前の記事でご確認ください。Intentチェックなしで追加される、ユーザー設定可能なプロパティを持たないWidgetです。TimelineProviderWidgetではTimelineという、いつどのViewを表示するか管理する仕組みを実装します。Entryを定義します。Date}続いて、TimelineProviderの実装です。Galleryで即座にWidgetを表示するために使われます。SnapshotはひとつのTimelineEntryを受け取ります。Widgetのコンテンツが提供されるまではモック的な値を入れておきます。getTimelinegetTimelineは、実際のウィジェット表示に使用されます。TimelineはTimelineEntryオブジェクトの配列です。アプリからWidgetCenterを利用して更新通知されたら更新する(.never)の3種類があります。TimelineはTimelineProviderに準拠したProviderによってwidgetsに渡されます。ViewViewには実際に表示するWidgetを実装します。fatalError()}}}Widgetのサイズは3種類あるのですが、上記のように現在のサイズが取得できるので、表示をサイズによって変更するようにしています。Intentチェックありで追加される、ユーザー設定可能なプロパティを持つWidgetです。例をあげると、天気のWidgetなど、Widgetを長押しでユーザー設定の変更が可能な機能を持つWidgetになります。IntentTimelineProvider今回は、ユーザーが設定できる情報nameを追加したEntryを作成します。String}TimelineProviderとの違いは各関数で、インテントの選択を表す追加のパラメータConfigurationIntentを取得します。ConfigurationIntent」を追記しておきます。「ConfigurationIntent」については後述します。.atEnd)completion(timeline)}}Widget設定の変更ユーザーがWidget設定の変更ができるようにしていきたいと思います。IntentsフレームワークをTargetから追加します。Extension」のチェックは外しておきます。Intentsという名前のセクションがあります。今回はConfigurationIntentという名前のアイテムを新規で作追加します。Intentチェックありで作成していれば、.intentdefinitionファイルが作成されているはずなので、先ほど作成したSampleIntentsをターゲットに追加します。今回はEntryに追加したnameの情報をユーザーに変更させたいのでParametersにNameを追加します。ここまでやったら、SampleIntentsのIntentHandler.swiftファイルにConfigurationIntentHandlingを追記すると、Xcodeが関数を自動生成を促してくれると思います。{自動生成されたprovideNameOptionsCollection関数を以下のように編集します。nil)}そうしたらViewのbodyにnameを表示するように編集します。.time)}これで準備は完了です。Widgetを長押しすると「ウィジェットを編集」が表示されると思います。あとは以下のように変更ができます。アプリからWidgetを更新アプリが通知を受けて更新するなどといった場合など、アプリ側からWidgetを更新することが可能です。以下を呼び出すことで、アプリのWidgetすべてをリロードさせることが可能です。SwiftWidgetCenter.shared.reloadAllTimelines()1WidgetCenter.shared.reloadAllTimelines()また、アプリ内で複数のWidgetを管理している場合、特定のWidgetを更新したい場合は以下のように行います。"com.example.WidgetSample.WidgetTest1")さいごに今回のWidget機能はできることが絞られている分、デザインの大事さを痛感しますね。ミニアプリのような使い方ではないのでAndroidのWidgetとも違い、リッチなアイコンのような印象です。助言を提供するものではありません。仮想通貨の投資・損益計算は複雑であり、個々の取引状況や法律の変更によって異なる可能性があります。ブログに記載された情報は参考程度のものであり、特定の状況に基づいた行動の決定には専門家の助言を求めることをお勧めします。当ブログの情報に基づいた行動に関連して生じた損失やリスクについて、筆者は責任を負いかねます。最新の法律や税務情報を確認し、必要に応じて専門家に相談することをお勧めします。コメントをキャンセルメールアドレスが公開されることはありません。名前メールサイト上に表示された文字を入力してください。【Swift】iOS13.1、Xcode11でSceneDelegate周りを触ってみた。こんにちは、nukkyです。こんにちは、nukkyです。こんにちは、suzukiです。私たちは無料アプリもリリースしています、ぜひご覧ください。下記のアイコンから無料でダウンロードできます。