Viewの構成 - Cizzuk/CSE GitHub Wiki

CSEはSwiftUIでGUI部分を開発しています。おおまかに7つのシーンがあります。

MainView

アプリの起動時に最初に表示される画面です。ひとつのViewで構成されています。

EditSEView

カスタム検索エンジンの編集画面です。

@Bindingで以下のデータを受け付けます。

  • cseType: String型、defaultCSE, privateCSE, quickCSEのどれか
  • cseID: String?型、Quick Search Engineの場合、そのID(キーワード)

以下のViewもあります。

  • EditSEViewPostData: POSTデータを追加、編集、削除する画面です。
  • EditSEViewRecommend: 初期設定でも表示される「おすすめの検索エンジン」のリストを表示します。EditSEViewのCSEDataを上書きします。
  • EditSEViewCloudImport: iCloud上のデバイスから特定のカスタム検索エンジンをコピーするためのViewです。EditSEViewのCSEDataを上書きします。

QuickSEListView

Quick Search Engineのリストを表示します。
追加、削除、EditSEViewで開いて編集もします。

Tutorial

Sheetです。CSEを初めて開いた時にユーザーのセットアップを助けるためのシーンです。

以下の5つのViewからなります。

  • FullTutorialView: 「ようこそ」のあいさつと、今から始まるチュートリアルの内容をリストで表示します。ここでスキップすることもできます。
  • SafariTutorialView: Safariの設定をユーザーに入力してもらうためのView。
  • SafariTutorialSecondView: ユーザーに拡張機能のアクセス許可をしてもらうためのView。
  • SafariTutorialRecommendSEView: よく利用される検索エンジンを表示して選択をするView。スキップも可能。
  • SafariTutorialImportView: iCloud上のデバイスから設定を全てインポートする場合に使用するView。

これらのViewのうち、SafariTutorialView, SafariTutorialSecondViewは、MainViewのボタンを押すと再表示することができます。

LicenseView

ライセンス表示。

IconChangeView

iOS, iPadOS専用。

以前一部の地域で販売していたアイコンを変更する機能のためのViewです。

現在、Issue#24により、全ての地域で購入が無効化されているので、購入の復元とアイコンの変更のみが可能です。

AdvSettingView

「高度な設定」用のView。