iOS および Android へのデプロイ
プロジェクト作成時に Capacitor を追加したので、Photo Gallery アプリをデバイスにインストールするまで、あとわずかな手順しか残っていません!このアプリの完全なソースコードはこちらで見つけることができます。
Capacitor の設定
Capacitor は、Ionic の公式アプリランタイムであり、iOS、Android などのネイティブプラットフォームにウェブアプリを簡単にデプロイできます。過去に Cordova を使用したことがある場合は、違いについて詳しくはこちらをご覧ください。
ターミナルで `ionic serve` を実行している場合は、キャンセルしてください。Ionic プロジェクトを新規にビルドし、報告されるエラーをすべて修正してください。
ionic build
次に、iOS プロジェクトと Android プロジェクトの両方を生成します。
$ ionic cap add ios
$ ionic cap add android
プロジェクトのルートに android フォルダと ios フォルダが作成されます。これらは完全に独立したネイティブプロジェクトであり、Ionic アプリの一部と考える必要があります(つまり、ソース管理にチェックインし、ネイティブツールを使用して編集するなど)。
ウェブディレクトリ(デフォルト: `build`)を更新するビルド(例: `ionic build`)を実行するたびに、これらの変更をネイティブプロジェクトにコピーする必要があります。
ionic cap copy
注: ネイティブ部分のコードを更新した後(新しいプラグインの追加など)、`sync` コマンドを使用してください。
ionic cap sync
iOS
iOS アプリをビルドするには、Mac コンピューターが必要です。
Capacitor iOS アプリは、Xcode(Apple の iOS/Mac IDE)を使用して設定および管理され、依存関係は CocoaPods によって管理されます。このアプリを iOS デバイスで実行する前に、いくつかの手順を実行する必要があります。
最初に、ネイティブ iOS プロジェクトを Xcode で開く Capacitor の `open` コマンドを実行します。
ionic cap open ios
一部のネイティブプラグインが機能するには、ユーザー権限を設定する必要があります。写真のギャラリーアプリでは、これには Camera プラグインが含まれます。iOS は、`Camera.getPhoto()` が初めて呼び出された後に自動的にモーダルダイアログを表示し、アプリがカメラを使用することを許可するようユーザーに促します。これに関わる権限は、「プライバシー - カメラの使用」と呼ばれます。これを設定するには、`Info.plist` ファイルを変更する必要があります(詳細はこちら)。アクセスするには、「Info」をクリックし、「カスタム iOS ターゲットプロパティ」を展開します。
`Info.plist` の各設定には、低レベルのパラメーター名と高レベルの名前があります。デフォルトでは、プロパティリストエディターには高レベルの名前が表示されますが、生の低レベルの名前を表示する方が便利な場合がよくあります。これを行うには、プロパティリストエディター内の任意の場所を右クリックし、「生のキー/値」を切り替えます。
`NSCameraUsageDescription` キーを追加し、アプリがカメラを使用する必要がある理由を説明する値(例:「写真撮影のため」)を設定します。値フィールドは、権限プロンプトが開かれたときにアプリユーザーに表示されます。
Camera プラグインに必要な他の 2 つのキーである `NSPhotoLibraryAddUsageDescription` と `NSPhotoLibraryUsageDescription` も同じ手順で追加します。
次に、左側のプロジェクトナビゲーターで `App` をクリックし、「署名と機能」セクションで開発チームを選択します。
権限を設定し、開発チームを選択したら、実機でアプリを試す準備ができました!iOS デバイスを Mac コンピューターに接続し、デバイスを選択します(私の場合は「App -> Matthew の iPhone」)。次に、「ビルド」ボタンをクリックして、アプリをビルド、インストール、およびデバイスで起動します。
Photo Gallery タブのカメラボタンをタップすると、権限プロンプトが表示されます。「OK」をタップして、カメラで写真を撮ります。その後、写真がアプリに表示されます!
Android
Capacitor Android アプリは、Android Studio を使用して設定および管理されます。このアプリを Android デバイスで実行する前に、いくつかの手順を実行する必要があります。
最初に、ネイティブ Android プロジェクトを Android Studio で開く Capacitor の `open` コマンドを実行します。
ionic cap open android
iOS と同様に、カメラを使用するための正しい権限を有効にする必要があります。`AndroidManifest.xml` ファイルでこれらを設定します。Android Studio はこのファイルを自動的に開く可能性がありますが、開かない場合は、`android/app/src/main/` で探してください。
`Permissions` セクションまでスクロールし、これらのエントリが含まれていることを確認します。
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
ファイルを保存します。権限を設定したら、実機でアプリを試す準備ができました!Android デバイスをコンピューターに接続します。Android Studio で「実行」ボタンをクリックし、接続されている Android デバイスを選択して、「OK」をクリックして、アプリをビルド、インストール、およびデバイスで起動します。
再び、Photo Gallery タブのカメラボタンをタップすると、権限プロンプトが表示されます。「OK」をタップして、カメラで写真を撮ります。その後、写真がアプリに表示されます。
Photo Gallery アプリが Android と iOS デバイスにデプロイされました!🎉
このチュートリアルの最後の部分では、Ionic CLI のライブリロード機能を使用して写真の削除をすばやく実装し、Photo Gallery 機能を完成させます。