「町いちばん」のお店を作るためのiPhoneアプリ開発を実施する
DAOの要件を織り込んだiPhoneアプリ要件のまとめ
SwiftUI PassKit (Apple Pay and Wallet)
PassKitフレームワークを使用すると、次のことができます。
アプリにApple Payを追加する
ユーザーのウォレットアプリでパスを管理する
Apple Payは、ユーザーが店舗、アプリ、ウェブで購入するための安全で簡単な方法です。PassKit APIを使用してiOSおよびwatchOSアプリでApple Payをサポートする場合、ユーザーはアプリを離れることなく、現実世界の商品やサービスを購入したり、非営利団体に寄付したりできます。
Apple Payの要件
あなたのウェブサイトでApple Payを使用するための要件は次のとおりです。
- あなたのウェブサイトはApple Payのガイドラインに準拠している必要があります。詳細については、ウェブ上のApple Payの受け入れ可能な使用ガイドラインを参照してください。
- Apple Developerアカウントをお持ちで、登録を完了する必要があります。詳細については、環境の設定を参照してください。
- Apple Payを含むすべてのページは、HTTPS経由で提供する必要があります。詳細については、サーバーの設定を参照してください。
設計ガイダンスについては、ヒューマンインターフェースガイドライン>Apple Payを参照してください。
PassKitを使用してパスにアクセスするには、ウォレット機能をアプリに追加します。開発者チームの識別子を使用して署名されたすべてのパスにアクセスするか、パスタイプのサブセットにアクセスするかを選択できます。アプリに機能を追加する方法については、アプリに機能を追加するを参照してください。パスの署名については、ウォレットパスを参照してください。
ウォレットに表示可能なパスを作ってみよう
パスは、以前は紙やプラスチック上にある可能性のある情報のデジタル表現です。彼らは、ユーザーがフライトに搭乗したり、イベントに参加したり、コートチェックアイテムを請求したりするなど、物理的な世界で行動を起こすことができます。
ユーザーがパスをインストールできるようにするには、次のことを行う必要があります。
- パスのソースを作成します。
- ソースから配布可能なパスを構築します。
- パスを配布します。
パスの作成と構築については、パスのソースの作成とパスの構築を参照してください。パスの配布については、パスの配布と更新を参照してください。
パスソースの作成
パスのソースには、システムがユーザーに表示するために必要なすべての情報が含まれています。
アイコンやロゴなどの他の視覚的要素の画像ファイル。
システムがパスに表示する文字列と、パスを定義するメタデータを含む
ファイル。
オプションのローカリゼーション情報。
新しいパスを作成する
ユーザーに配布するパスは、パス、画像、およびオプションのローカリゼーションのJSON説明を含む署名付きBundle
です。
パスを作成するには、次のことを行います。
・パスのソースファイルを作成します。詳細については、パスのソースの作成を参照してください。
・パスタイプ識別子を作成します。
・署名証明書を生成します。
・パスのデジタル署名を作成します。
・署名されたバンドルを作成します。
バンドル
Appleは、バンドルを使用して、アプリ、フレームワーク、プラグイン、その他多くの特定の種類のコンテンツを表します。バンドルは、含まれているリソースを明確に定義されたサブディレクトリに整理し、バンドル構造はプラットフォームとバンドルの種類によって異なります。バンドルオブジェクトを使用すると、バンドルの構造を知らずにバンドルのリソースにアクセスできます。バンドルオブジェクトは、バンドル構造、ユーザー設定、利用可能なローカリゼーション、およびその他の関連要因を考慮して、アイテムを見つけるための単一のインターフェイスを提供します。
実行可能ファイルは、バンドルオブジェクトを使用して、アプリのバンドル内または別の場所にある既知のバンドルのいずれかでリソースを見つけることができます。バンドルオブジェクトを使用して、コンテナディレクトリやファイルシステムの他の部分にあるファイルを見つけることはありません。
バンドルオブジェクトを使用するための一般的なパターンは次のとおりです。
意図したバンドルディレクトリのバンドルオブジェクトを作成します。
バンドルオブジェクトのメソッドを使用して、必要なリソースを検索またはロードします。
他のシステムAPIを使用して、リソースと対話します。
passを作ってみよう
ではPassでできる事について調査してみたいと思います。
Walletのページに以下の画像があるように、認証として機能する部分はQRコードとNFCの2種類のようです。
ただNFC対応のPassを作るにはかなりハードルが高いことが後々わかりました。
(NFC対応Passについては今後の別記事でまとめて出します)
- Passはアプリ、メール、Webのいずれかで配信する事ができる
- Passは作成できるスタイルが5種類あり(上記の”作成できるPassについて”を参照)選択したスタイルに応じて、パスの外観および対象となる時間枠や位置情報の適用範囲を含む表示内容が自動的に決まる
- Passの開発にはPassKitを利用する(後にわかった事ですが、Pass自体はJSONで作成します)
- 作成したPassをWalletで管理するにはApple Developerアカウントに関連付けられている証明書でパスに署名する必要があり、証明書がないとWalletでPassを認証する事ができない(つまりWalletに入れる事ができない)
- Passの使用方法としてバーコードとNCFがあるがNFC対応のPassを作成するにはNFC 証明書のリクエストが必要
である事がわかりました。
だいたいできる事がわかってきた+Passは作成できる!まで理解できたので次はいよいよ作成してみたいと思います。
ここからいよいよPassの作成方法を紹介したいと思いますが、結論から言うと以下のリンクを見てその通りに作成すればとりあえずPassの作成手順を理解する事ができます。
しかしこの記事にあたるまでに非常に時間を費やしたので、今後自分のように迷走する人がいなくなればという強い思いを込めて以下リンク貼っておきます。
また公式の手順書はあるものの英語+わかり辛い部分もあるなと感じましたので実際にPass作成する手順を私なりの表現で紹介したいと思います。
Pass作成のおおまかな流れ
流れとして以下工程を満たせば作成できます。
- 証明書周り作成
- .passファイル作成
- signpass取得
- Passの生成
こんな感じです!
イメージとしては証明書周りを作成、ダウンロードし、.pass内にアイコンやJSONファイルなどを格納し、signpassを使用してPassを生成します。
Apple payで購入後Walletにパスを追加する
ローカリゼーション
Appでは、PassKit APIにより、ユーザーの言語設定に応じて「Appleウォレットに追加」のローカライズ版が提供されます。Web、Eメール、印刷物には、Appleが提供しているローカライズされたアートワークを使用することができます。ご自分でローカライズしたバージョンは作成しないでください。
App
ウォレットに対応するApp向けに「Appleウォレットに追加」ボタンを作成するには、PKAddPassButton(英語)クラスを使用します。ボタンは、ウォレットに保存できる項目に隣接、またはその近くに配置してください。
ユーザーがパスを利用できるようにする方法について詳しくは、「Human Interface Guidelines(英語)」を参照してください。
「DAOを始める方法」を解説します。
DAOは組織としてコミュニティを形成し、社会に還元するために資金を調達する手段です。また、参加者に資金を分配したり、仕事の対価としてインセンティブを受け取るこができます。
本記事で分かる内容
DAOを始める方法とは?
最初に、DAOのセットアップをします。
ステップは次の通りです。
• DAOのコンセプトと名前を決める
• ミッション(使命、任務)決める
• ビジョン(将来像)
• ステートメント(宣言、提示)決める
• ロードマップの作成
• コミュニケーションツールの作成
• ガバナンストークンを起動する
• 資金調達の構成を作成する
DAOに必要なツールとは?
□1.DAOのコンセプトと名前を決める
始めにDAOのコンセプトと名前を決めるためにも「ビジョン」「ミッション」を決めなければいけません。なぜならば。未来に向けて「文化」「歴史」「探求」を構築するためにも「軸」が重要になってきます。
そして、世界中の人々から資金を調達し、運営に必要なコスト以外はさまざまな組織に社会貢献として寄付をします。DAOは社会と密接に繋がっている組織です。
□2.コミュニケーションのツール作成
次はDAOとしてのコミュニティを構築するために場所を作成します。一般的に使用するツールは次の通りです。
Discord:https://discord.com
Twitter:https://twitter.com
Telegram:https://telegram.org
Discordは現在、DAOの中心的な存在のツールです。さまざまなチャンネルを作成し、コミュニティのエンゲージメントを高めながら参加者と一緒に成長を続けていきます。
たとえば次のようなチャンネルを作成し、DAOとしての存在を構築します。
• オフィシャルリンク
• アナウンス
• マーケティング
• 開発
• 提案
• 雑談
• クイズ
• コイン集め
• Giveway
• サポート
TwitterはDiscordと同じぐらい重要です。DAOの活動、認知、告知、宣伝を世界中の人々に対して発信するために役立ちます。
Telegramはコミュニティ形成としてグループを作成し、参加者のメンバーを集めることができます。Discordの併用も可能です。
その他のDAOを立ち上げるための「システム」「ツール」を紹介しますので必要に応じて活用してください。
コメント