From 660b64e8ebbf76823d3e3aef602dd426872e9924 Mon Sep 17 00:00:00 2001 From: J1-takai Date: Thu, 22 May 2025 22:56:30 +0900 Subject: [PATCH] i18n(ja) Distribution (part 1 of 3) --- src/content/docs/ja/distribute/app-store.mdx | 392 ++++++++++++++++++ src/content/docs/ja/distribute/appimage.mdx | 78 ++++ src/content/docs/ja/distribute/aur.mdx | 168 ++++++++ .../docs/ja/distribute/crabnebula-cloud.mdx | 31 ++ src/content/docs/ja/distribute/debian.mdx | 45 ++ src/content/docs/ja/distribute/dmg.mdx | 135 ++++++ src/content/docs/ja/distribute/index.mdx | 254 ++++++++++++ 7 files changed, 1103 insertions(+) create mode 100644 src/content/docs/ja/distribute/app-store.mdx create mode 100644 src/content/docs/ja/distribute/appimage.mdx create mode 100644 src/content/docs/ja/distribute/aur.mdx create mode 100644 src/content/docs/ja/distribute/crabnebula-cloud.mdx create mode 100644 src/content/docs/ja/distribute/debian.mdx create mode 100644 src/content/docs/ja/distribute/dmg.mdx create mode 100644 src/content/docs/ja/distribute/index.mdx diff --git a/src/content/docs/ja/distribute/app-store.mdx b/src/content/docs/ja/distribute/app-store.mdx new file mode 100644 index 0000000000..0c4ce80b0c --- /dev/null +++ b/src/content/docs/ja/distribute/app-store.mdx @@ -0,0 +1,392 @@ +--- +title: App Store で配布 +sidebar: + order: 1 +i18nReady: true +--- + +import CommandTabs from '@components/CommandTabs.astro'; +import TranslationNote from '@components/i18n/TranslationNote.astro'; + +[Apple App Store] は Apple 社が運営するアプリのマーケットプレースです。 +この App Store を通じて、macOS および iOS を対象とした Tauri アプリを配布できます。 + +この章では、「アプリを直接 App Store に配布する」方法のみを扱います。 +macOS の配布オプションや設定についての詳しい内容は、総合的な「[App Bundle][App Bundle による配布]」の章を参照してください。 + +## 必要条件 + +iOS と macOS のアプリを配布するには、[Apple Developer] プログラムに登録する必要があります。 + +さらに、[macOS][macOS コード署名] と [iOS][iOS コード署名] のコード署名を設定する必要があります。 + +## アプリ・アイコンの変更 + +`tauri ios init` を実行して Xcode プロジェクトを作成した後、`tauri icon` コマンドを使用してアプリ・アイコンを更新できます。 + + + +引数の `--ios-color` は、iOS アイコンの背景色を定義します。 + +## 設定 + +Apple Developer プログラムに登録した後、Tauri アプリを App Store で配布するための最初のステップは、アプリを [App Store Connect][app-store-connect-apps] に登録することです。 + +:::note +「_Bundle ID_」フィールドで指定される値は、[`tauri.conf.json > identifier`] で定義された識別子と一致**しなければなりません**。 +::: + +## ビルドとアップロード + +Tauri CLI は、アプリを macOS および iOS 向けにパッケージ化できます。ただし、macOS マシンで実行する必要があります。 + +Tauri は、[`tauri.conf.json > version`] で定義された値から [`CFBundleVersion`](https://developer.apple.com/documentation/bundleresources/information-property-list/cfbundleversion) (バンドル・バージョン)を取得します。 +異なるバンドル・バージョンの体系、たとえば「連続符号」など、が必要な場合には、 +[`tauri.conf.json > bundle > iOS > bundleVersion`] または [`tauri.conf.json > bundle > macOS > bundleVersion`] の設定で独自のバンドル・バージョンの指定が可能です: + +```json title="tauri.conf.json" ins={4} +{ + "bundle": { + "iOS": { + "bundleVersion": "100" + } + } +} +``` + +:::caution +「コード署名」が必要です。[macOS][macOS コード署名] および [iOS][iOS コード署名] の「コード署名」関連ドキュメントをご覧ください。 +::: + +Tauri は、iOS アプリに Xcode を利用しているため、iOS 用のアーカイブおよび配布に、Tauri CLI ではなく Xcode を使用できることに注意してください。 +iOS プロジェクトを Xcode で開いてビルドするには、次のコマンドを実行します: + + + +### macOS では + +アプリを App Store にアップロードするには、まず、すべての必要な設定オプションが入力されていることを確認する必要があります。その後、App Bundle をパッケージ化し、署名された `.pkg` ファイルを作成して、アップロードが可能になります。 + +以下の各項目で、このプロセスを順に説明します。 + +#### 設定 + +アプリが App Store 検証システムで受け入れられるには、アプリにいくつかの設定項目が含まれていなければなりません。 + +:::tip +ここでは、App Store への提出用にアプリを設定する手順について説明します。 + +以下の設定変更を「App Store 用にビルドする」場合にのみ適用するには、別の Tauri 設定ファイルを作成します。 + +```json title="src-tauri/tauri.appstore.conf.json +{ + "bundle": { + "macOS": { + "entitlements": "./Entitlements.plist", + "files": { + "embedded.provisionprofile": "path/to/profile-name.provisionprofile" + } + } + } +} +``` + +次に、Tauri アプリを App Store 向けにバンドルするときに、その設定ファイルをメインの設定ファイルとマージします: + + + +このやりかたは、次のような場合に、特に便利です。 + +- アプリを App Store にアップロードするために CI/CD を設定するが、ローカルで「[プロビジョニング・プロファイル]」を必要しない場合 +- App Store 以外で配布するためにアプリをコンパイルする場合 + + + +**プロビジョニング・プロファイル** provision profile。iOS/macOS アプリの開発元が本物であることを示す証明書。「[開発用](https://developer.apple.com/jp/help/glossary/development-provisioning-profile/)」と「[配布用](https://developer.apple.com/jp/help/glossary/distribution-provisioning-profile/)」の二種類があります。 + + + +::: + +- Category(カテゴリー項目) + +アプリを App Store に表示させるには、[`tauri.conf.json > bundle > category`](「カテゴリー項目」)を明示する必要があります: + +```json title="tauri.conf.json" ins={3} +{ + "bundle": { + "category": "Utility" + } +} +``` + +- Provisioning profile(プロビジョニング・プロファイル) + +また、アプリを Apple に受理してもらうためには、「プロビジョニング・プロファイル」も作成しなければなりません。 + +Apple Developer サイトの「[Identifiers](https://developer.apple.com/account/resources/identifiers/list)(ID)」ページで新しい「[App ID]」を作成し、「[Bundle ID]」値が [`tauri.conf.json > identifier`] で設定された ID(識別子)と一致していることを確認します。 + +次に [Profiles](https://developer.apple.com/account/resources/profiles/list) ページに移動して、新しい「プロビジョニング・プロファイル」を作成します。 +App Store で macOS アプリを配信する場合は、「Mac App Store Connect」プロファイルである必要があります。 +適切な「アプリ ID」を選択し、「コード署名」に使用している「証明書」とリンクさせます。 + +「プロビジョニング・プロファイル」を作成したら、ダウンロードしてよくわかる場所に保存し、「[App Bundle](アプリ・バンドル)に含まれるように Tauri を設定します: + +```json title="tauri.conf.json" ins={4-6} +{ + "bundle": { + "macOS": { + "files": { + "embedded.provisionprofile": "path/to/profile-name.provisionprofile"(プロビジョン・プロファイルのパスを記載) + } + } + } +} +``` + +- Info.plist(情報特性リスト) + + + +**情報特性リスト** Information Property List。詳細は [Info.plist](英語版)を参照してください。 + + + +アプリは「暗号化輸出規制」(仮訳)に準拠していなければなりません。 +詳細については、[Apple 社の公式ドキュメント](https://developer.apple.com/documentation/security/complying-with-encryption-export-regulations?language=objc)(英語版)を参照してください。 + +src-tauri フォルダーに Info.plist ファイルを作成します: + +```xml + + + + + ITSAppUsesNonExemptEncryption + # or `true` if your app uses encryption + + +``` + +- Entitlements(エンタイトルメント/資格) + + + +**エンタイトルメント** entitlement: 「権利・資格」を与えること、または与えられた「権利・資格」。ここでは情報やデータ、資源などを利用する資格・権利の付与や制限を行なうこと。Apple 社の用語解説は[こちら](https://developer.apple.com/jp/help/glossary/?q=エンタイトルメント)。 + + + +アプリを App Store で配布するには、アクセス制御機能の [App Sandbox] を含んでいなければなりません。 +さらに、「コード署名」資格設定で「App ID」と「[team ID]」も設定する必要があります。 + +`src-tauri` フォルダに `Entitlements.plist` ファイルを作成します: + +```xml + + + + + com.apple.security.app-sandbox + + com.apple.application-identifier + $TEAM_ID.$IDENTIFIER + com.apple.developer.team-identifier + $TEAM_ID + + +``` + +`$IDENTIFIER` は [`tauri.conf.json > identifier`] の値に、`$TEAM_ID` は Apple Developer「team ID」の値に置き換える必要があることに注意してください。「team ID」は、プロビジョニング・プロファイル用に作成した [Identifier](https://developer.apple.com/account/resources/identifiers/list) の `App ID Prefix` セクションにあります。 + +そして、macOS バンドル設定 [`tauri.conf.json > bundle > macOS > entitlements`] でこの `Entitlements.plist` ファイルを参照します。 + +```json title="tauri.conf.json" ins={4} +{ + "bundle": { + "macOS": { + "entitlements": "./Entitlements.plist" + } + } +} +``` + +エンタイトルメント(資格)を適用するためには、コード署名を有効にしてアプリケーションをビルドする必要があります。 + +「App Sandbox」環境下でアプリを実行した際に、アプリが動作することを確認してください。 + + + +**App Sandbox** macOSに実装されているセキュリティ機能。詳細は [アップル社のサイト](https://developer.apple.com/jp/help/glossary/app-sandbox/) を参照してください。 + + + +#### ビルド + +macOS アプリケーションは `.pkg` ファイルとして App Store にアップロードする必要があります。 +次のコマンドを実行して、アプリを macOS App Bundle(拡張子は `.app`)としてパッケージ化します: + +``` +tauri build --bundles app --target universal-apple-darwin +``` + +:::note +上記のコマンドは、ユニバーサル・アプリ・バイナリ・アプリケーションを生成し、「Apple シリコン」と「Intel プロセッサ」の両方をサポートします。 + +もし「Apple シリコン」のみをサポートしたい場合は、[`tauri.conf.json > bundle > macOS > minimumSystemVersion`] を `12.0` に変更する必要があります: + +```json title="tauri.conf.json" ins={4} +{ + "bundle": { + "macOS": { + "minimumSystemVersion": "12.0" + } + } +} +``` + +そして、使用している Mac システムに従って、CLI コマンドと出力パスを変更します: + +- ビルドに用いるシステムが「Apple シリコン」を使用している場合は、引数「`--target universal-apple-darwin`」を削除し、以下の `.pkg` 生成コマンドで参照されているパスで「`target/universal-apple-darwin/release`」の代わりに「`target/release`」を使用します。 +- ビルドに用いるシステムが「Intel チップ」を使用している場合: + - Rust Apple シリコン・ターゲットをインストールします: + ``` + rustup target add aarch64-apple-darwin + ``` + - 引数「`universal-apple-darwin`」を「`aarch64-apple-darwin`」に変更し、以下の `.pkg` 生成コマンドで参照されているパスで「`target/universal-apple-darwin/release`」ではなく「`target/aarch64-apple-darwin/release`」を使用します。 + +::: + +設定オプションの詳細については、[App Bundle による配布] の章を参照してください。 + +App Bundle から署名付きの `.pkg` を生成するには、次のコマンドを実行します: + +``` +xcrun productbuild --sign "" --component "target/universal-apple-darwin/release/bundle/macos/$APPNAME.app" /Applications "$APPNAME.pkg" +``` + +【注意】 _$APPNAME_ の部分は、自分のアプリ名に置き換える必要があります。 + +:::note +_Mac Installer Distribution_ 署名証明書を使用して「Mac インストーラ・パッケージ」に署名する必要があります。 +::: + +#### アップロード + +これで、コマンドライン・ユーティリティ(CLI)の [`altool`] を使用してアプリ・パッケージ を App Store にアップロードできるようになりました: + +``` +xcrun altool --upload-app --type macos --file "$APPNAME.pkg" --apiKey $APPLE_API_KEY_ID --apiIssuer $APPLE_API_ISSUER +``` + +【注意】 `altool` ではアプリをアップロードするために [App Store Connect] API キーが必要であることに注意してください。 +詳細については、下記 [認証] の項を参照してください。 + +その後、アプリは Apple によって検証され、承認されると [TestFlight] を利用できるようになります。 + + + +**altool** ※ 「この公証ツールの「認証」機能は 2023-11-01 を以って廃止され、`notarytool` へ移行される」旨の [Apple Technote] 2023-05-30 リリースが行なわれています。App store へのアプリ・アップロードは引き続き行なえるようですが、必要に応じて、最新状況の確認をお願いします。 "TN3147: Apple has deprecated `altool` for the purposes of notarization" + + + +### iOS では + +iOS アプリをビルドするには、`tauri ios build` コマンドを実行します。 + + + +生成された [IPA ファイル]は `src-tauri/gen/apple/build/arm64/$APPNAME.ipa` にあります。 + + + +**IPA ファイル** IPA file: iOSアプリケーションのアーカイブファイルのことで、iOS Package Archive(拡張子 .ipa)の略です。 + + + +_$APPNAME_ の部分を自分のアプリ名に置き換える必要があることに注意してください。 + +これで、`altool` CLI を使用して iOS アプリを App Store にアップロードできるようになりました: + +``` +xcrun altool --upload-app --type ios --file "src-tauri/gen/apple/build/arm64/$APPNAME.ipa" --apiKey $APPLE_API_KEY_ID --apiIssuer $APPLE_API_ISSUER +``` + +`altool` ではアプリをアップロードするために [App Store Connect] API キーが必要であることに注意してください。 +詳細については、下記 [認証] の項を参照してください。 + +その後、アプリは Apple によって検証され、承認されると [TestFlight] を利用できるようになります。 + +### 認証 + +iOS および macOS アプリは、認証に App Store Connect API キーを利用する `altool` を使用してアップロードされます。 + +新しい API キーを作成するには、[App Store Connect Users and Access page] を開き、「Integrations(統合) > Individual Keys tab(個別のキー・タブ)」を選択し、「Add(追加)」ボタンをクリックして、「名前」と「the Developer access(開発者アクセス)」を選択します。 +「`APPLE_API_ISSUER`」(発行者 ID)はキー・テーブルの上側に表示され、「`APPLE_API_KEY_ID`」はそのテーブルの「キー ID」列の値になります。 +「秘密鍵 private key」のダウンロードも必要ですが、これは一回だけ実行され、ページをリロードした後にのみ表示されます(ボタンが、新しく生成されたキーに対応するテーブル行に表示されます)。 +この秘密鍵ファイルのパスは、「`AuthKey\_.p8`」として、次のディレクトリのいずれかに保存する必要があります: `/private_keys`、`~/private_keys`、`~/.private_keys`、あるいは `~/.appstoreconnect/private_keys` です。 + +[App Bundle による配布]: /ja/distribute/macos-application-bundle/ +[Apple Developer]: https://developer.apple.com/jp/ +[Apple App Store]: https://www.apple.com/jp/app-store/ +[`altool`]: https://help.apple.com/itc/apploader/#/apdATD1E53-D1E1A1303-D1E53A1126 +[macOS コード署名]: /ja/distribute/sign/macos/ +[iOS コード署名]: /ja/distribute/sign/ios/ +[app-store-connect-apps]: https://appstoreconnect.apple.com/apps +[`tauri.conf.json > identifier`]: /reference/config/#identifier +[`tauri.conf.json > bundle > category`]: /reference/config/#category +[`tauri.conf.json > bundle > macOS > entitlements`]: /reference/config/#entitlements +[`tauri.conf.json > bundle > macOS > minimumSystemVersion`]: /reference/config/#minimumsystemversion +[App Store Connect's Users and Access page]: https://appstoreconnect.apple.com/access/users +[認証]: #認証 + + + +[App Bundle]: https://developer.apple.com/jp/help/glossary/?q=app%20bundle +[App ID]: https://developer.apple.com/jp/help/glossary/?q=アプリID +[App Sandbox]: https://developer.apple.com/jp/help/glossary/?q=App%20Sandbox +[App Store Connect]: https://developer.apple.com/jp/help/glossary/?q=App%20Store%20Connect +[Apple Technote]: https://developer.apple.com/documentation/technotes/tn3147-migrating-to-the-latest-notarization-tool?changes=_3_3 +[Bundle ID]: https://developer.apple.com/jp/help/glossary/?q=バンドルID +[Info.plist]: https://developer.apple.com/documentation/bundleresources/information-property-list +[IPA ファイル]: https://ja.wikipedia.org/wiki/IPA_(ファイルフォーマット) +[team ID]: https://developer.apple.com/jp/help/glossary/?q=team +[TestFlight]: https://developer.apple.com/jp/help/glossary/?q=TestFlight +[プロビジョニング・プロファイル]: https://developer.apple.com/jp/help/glossary/?q=プロファイル + +
+ 【※ この日本語版は、「May 21, 2025 英語版」に基づいています】 +
diff --git a/src/content/docs/ja/distribute/appimage.mdx b/src/content/docs/ja/distribute/appimage.mdx new file mode 100644 index 0000000000..5bccb79126 --- /dev/null +++ b/src/content/docs/ja/distribute/appimage.mdx @@ -0,0 +1,78 @@ +--- +title: AppImage で配布 +sidebar: + order: 1 +i18nReady: true +--- + +import TranslationNote from '@components/i18n/TranslationNote.astro'; + +「`AppImage`」は、システムにインストールされているパッケージに依存せず、代わりにアプリケーションに必要な依存関係とファイルをすべてバンドルした配布形式です。このため、出力ファイルは大きくなりますが、多くの Linux ディストリビューションでサポートされており、インストールなしで実行できるため、配布が容易です。ユーザーは、ファイルを実行可能ファイル(`chmod a+x MyProject.AppImage`)にするだけで、実行できます(`./MyProject.AppImage`)。 + +AppImage は便利で、各ディストリビューションのパッケージ・マネージャー用のパッケージを作成できない場合でも、配布プロセスを簡素化します。とは言っても、ファイル・サイズが元々の 2~6 MB 程度から 70 MB 以上となってしまうため、その使用は慎重に行なう必要があります。 + +## GStreamer によるマルチメディアサポート + +あなたのアプリがオーディオ/ビデオの再生を行なう場合は、`tauri.conf.json > bundle > linux > appimage > bundleMediaFramework`(「メディア・フレームワークをバンドル」フラグ)を有効にする必要があります。これにより、メディアの再生に必要な gstreamer ファイルが追加されるため、AppImage バンドルのサイズが増加します。このフラグは現在、Ubuntu のビルド・システムでのみ完全な対応が行なわれています。アプリの実行時に必要となるかもしれないプラグインがすべて、自分のビルド・システムにインストールされていることを確認してください。 + +:::caution + +[GStreamer] の `ugly` パッケージ内のプラグインには、あなたの「アプリの一部として配布することが困難」になるかもしれないライセンスになっているものがあります。 + + + +**GStramer** のライセンス問題: GStreamer 本体は LGPL でライセンスされていますが、プラグインのライブラリ群の中には別のライセンスで配布されている場合があるようですので、使用されているプラグインにライセンスにご注意ください。ライセンス関連の詳細は [GStreamer website](英語サイト)を参照してください。 + + + +::: + +{/* TODO: Add some reference links for gst setup/plugins */} + +## カスタム・ファイル + +Tauriの「`resources` 機能」(「[追加ファイルの埋め込み](/ja/develop/resources/)」の章を参照)を用いずにカスタム・ファイルを AppImage に含めるためには、対象のファイルやフォルダのリストを `tauri.conf.json > bundle > linux > appimage > files` に指定します。この設定オブジェクトは、AppImage 内のパスを、あなたのファイルシステム上のファイルへのパスに、`tauri.conf.json` ファイルからの相対パスで展開(マッピング)します。以下が設定事例です: + +```json title="tauri.conf.json" +{ + "bundle": { + "linux": { + "appimage": { + "files": { + "/usr/share/README.md": "../README.md", // 「../README.md」ファイルを「/usr/share/README.md」にコピー + "/usr/assets": "../assets/" // 「../assets」ディレクトリのすべてを「/usr/assets」にコピー + } + } + } + } +} +``` + +:::note + +現時点では、宛先のパスは `/usr/` で始まる必要があることに注意してください。 + +::: + +## ARM ベースのデバイス用 AppImages + +Tauri が使用している AppImage ツールの「`linuxdeploy`」は、現在 ARM AppImage との[クロスコンパイルをサポートしていません]。つまり、ARM AppImage は ARM デバイス上またはエミュレータ上でのみビルドが可能となります。 + +アプリをビルドするためにエミュレーション環境の「QEMU」を利用するワークフローの事例については、[GitHub Action 設定ガイド](/ja/distribute/pipelines/github/#arm-runner-のコンパイル) の章をご覧ください。ただし、この処理は非常に遅いため、Build Minutes(ビルド時間)が無料のパブリック・リポジトリでのみ推奨されます。プライベート・リポジトリでは、GitHub の「ARM ランナー」(上記リンク)の方がコスト効率が良く、セットアップもはるかに簡単です。 + + + +**QEMU** 読み「キューエミュ」。オープンソースの CPU/システム・エミュレータ。詳しくは [Wikipedia](https://ja.wikipedia.org/wiki/QEMU) を参照してください。 + + + +[クロスコンパイルをサポートしていません]: https://github.com/linuxdeploy/linuxdeploy/issues/258 + + + +[GStreamer]: https://ja.wikipedia.org/wiki/GStreamer +[GStreamer website]: https://gstreamer.freedesktop.org/documentation/frequently-asked-questions/licensing.html?gi-language=c + +
+ 【※ この日本語版は、「Feb 22, 2025 英語版」に基づいています】 +
diff --git a/src/content/docs/ja/distribute/aur.mdx b/src/content/docs/ja/distribute/aur.mdx new file mode 100644 index 0000000000..948846f810 --- /dev/null +++ b/src/content/docs/ja/distribute/aur.mdx @@ -0,0 +1,168 @@ +--- +title: AUR +sidebar: + order: 1 +i18nReady: true +--- + +import TranslationNote from '@components/i18n/TranslationNote.astro'; + +# Arch User Repository (AUR) に公開する + + + +**AUR** = Arch User Repository: ArchLinux コミュニティが運営する Arch ユーザーのためのリポジトリの名称。ArchLinux Japan のサイトは [こちら](https://wiki.archlinux.jp/index.php/Arch_User_Repository)。 + + + +## 設定 + +まず最初に、`https://aur.archlinux.org` にアクセスしてアカウントを作成してください。必ず、適切な「SSH キー」を追加してください。次に、次のコマンドを使って空の Git リポジトリをクローンしてください。 + +```sh +git clone https://aur.archlinux.org/your-repo-name +``` + +上記の手順が完了したら、`PKGBUILD` という名前のファイルを作成します。ファイルの作成が完了したら、次のステップに進みます。 + +### PKGBUILD ファイルの書き方 + +```ini title="PKGBUILD" +pkgname= +pkgver=1.0.0 +pkgrel=1 +pkgdesc="アプリの説明(description)" +arch=('x86_64' 'aarch64') +url="https://github.com//" +license=('MIT') +depends=('cairo' 'desktop-file-utils' 'gdk-pixbuf2' 'glib2' 'gtk3' 'hicolor-icon-theme' 'libsoup' 'pango' 'webkit2gtk-4.1') +options=('!strip' '!emptydirs') +install=${pkgname}.install +source_x86_64=("${url}/releases/download/v${pkgver}/appname_${pkgver}_amd64.deb") +source_aarch64=("${url}/releases/download/v${pkgver}/appname_${pkgver}_arm64.deb") +``` + +- ファイルの先頭で「パッケージ名」を定義し、変数 `pkgname` に割り当てます。 +- 「`pkgver`」変数を設定します。通常、コードの保守性を高めるために、この変数をソース内の変数で使用するのが最適です。 +- 「`pkgdesc`」変数は、AUR リポジトリ・ページ上の変数で、訪問者にあなたのアプリで何が行なえるのかを伝えます。 +- 「`arch`」変数は、どの CPU アーキテクチャにあなたのパッケージをインストール可能かを提示します。 +- 「`url`」変数は必須ではありませんが、パッケージをよりプロフェッショナルに見せるのに役立ちます。 +- 「`install`」変数は、パッケージがインストール、削除、またはアップグレードされるときに実行される「.install スクリプト」の名前を指定します。 +- 「`depends`」変数には、アプリの実行に必要なライブラリ等のリストが格納されます。Tauri アプリを実行するには、上記で表示されているものすべての依存関係を含める必要があります。 +- 「`source`」変数は必須で、アップストリーム・パッケージの場所を定義します。変数名の末尾にアーキテクチャを追加することで、アーキテクチャ特定の `source` にすることができます。 + +### `.SRCINFO` の生成 + +あなたのリポジトリを AUR にプッシュするには、`.SRCINFO` ファイルを生成する必要があります。これは次のコマンドで実行できます。 + +```sh +makepkg --printsrcinfo > .SRCINFO +``` + +### テスト + +アプリのテストは非常に簡単です。`PKGBUILD` ファイルと同じディレクトリ内で `makepkg` を実行し、機能するかどうかを確認するだけです。 + +### 公開 + +最後に、テスト・フェーズが終了したら、以下のコマンドを使用してアプリケーションを AUR(Arch User Repository)に公開できます。 + +```sh +git add . + +git commit -m "Initial Commit" + +git push +``` + +すべてがうまくいけば、あなたのリポジトリが AUR Web サイトに表示されるはずです。 + +## 実施例 + +### Debian パッケージからの抽出 + +```ini title="PKGBUILD" +# Maintainer: +# Contributor: +pkgname= +pkgver=1.0.0 +pkgrel=1 +pkgdesc="Description of your app" +arch=('x86_64' 'aarch64') +url="https://github.com//" +license=('MIT') +depends=('cairo' 'desktop-file-utils' 'gdk-pixbuf2' 'glib2' 'gtk3' 'hicolor-icon-theme' 'libsoup' 'pango' 'webkit2gtk-4.1') +options=('!strip' '!debug') +install=${pkgname}.install +source_x86_64=("${url}/releases/download/v${pkgver}/appname_${pkgver}_amd64.deb") +source_aarch64=("${url}/releases/download/v${pkgver}/appname_${pkgver}_arm64.deb") +sha256sums_x86_64=('ca85f11732765bed78f93f55397b4b4cbb76685088553dad612c5062e3ec651f') +sha256sums_aarch64=('ed2dc3169d34d91188fb55d39867713856dd02a2360ffe0661cb2e19bd701c3c') +package() { + # パッケージ・データを抽出 + tar -xvf data.tar.gz -C "${pkgdir}" + +} +``` + +```ini title="my-tauri-app.install" +post_install() { + gtk-update-icon-cache -q -t -f usr/share/icons/hicolor + update-desktop-database -q +} + +post_upgrade() { + post_install +} + +post_remove() { + gtk-update-icon-cache -q -t -f usr/share/icons/hicolor + update-desktop-database -q +} + +``` + +### ソースからのビルド + +```ini title="PKGBUILD" +# Maintainer: +pkgname=-git +pkgver= +pkgrel=1 +pkgdesc="Description of your app" +arch=('x86_64' 'aarch64') +url="https://github.com//" +license=('MIT') +depends=('cairo' 'desktop-file-utils' 'gdk-pixbuf2' 'glib2' 'gtk3' 'hicolor-icon-theme' 'libsoup' 'pango' 'webkit2gtk-4.1') +makedepends=('git' 'openssl' 'appmenu-gtk-module' 'libappindicator-gtk3' 'librsvg' 'cargo' 'pnpm' 'nodejs') +provides=('') +conflicts=('' '') +source=("git+${url}.git") +sha256sums=('SKIP') + +pkgver() { + cd + ( set -o pipefail + git describe --long --abbrev=7 2>/dev/null | sed 's/\([^-]*-g\)/r\1/;s/-/./g' || + printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short=7 HEAD)" + ) +} + +prepare() { + cd + pnpm install +} + +build() { + cd + pnpm tauri build -b deb +} + +package() { + cp -a /src-tauri/target/release/bundle/deb/_${pkgver}_*/data/* "${pkgdir}" +} +``` + +
+ 【※ この日本語版は、「Mar 29, 2025 英語版」に基づいています】 +
diff --git a/src/content/docs/ja/distribute/crabnebula-cloud.mdx b/src/content/docs/ja/distribute/crabnebula-cloud.mdx new file mode 100644 index 0000000000..b56b28f155 --- /dev/null +++ b/src/content/docs/ja/distribute/crabnebula-cloud.mdx @@ -0,0 +1,31 @@ +--- +title: CrabNebula クラウドで配布する +sidebar: + label: CrabNebula Cloud + order: 1 +i18nReady: true +--- + +import TranslationNote from '@components/i18n/TranslationNote.astro'; + +[CrabNebula] は、Tauri アプリケーション向けのサービスとツールを提供する公式 Tauri パートナーです。 +[CrabNebula Cloud]は、Tauri アップデーターとシームレスに統合されたアプリケーション配布プラットフォームです。 + +この「Cloud(クラウド)」では、アプリケーションのインストーラーと更新プログラムを世界中に配布できる「コンテンツ配信ネットワーク(CDN)」を提供しつつ、その一方で、コストパフォーマンスが良く、ダウンロード数の指標も公開しています。 + +CrabNebula Cloud サービスを利用すると、複数のリリース・チャネルや自分のアプリケーション Web サイト用ダウンロード・ボタンなどを始め、いろいろなものを簡単に実装できます。 + +「Cloud」を利用するための Tauri アプリの設定は簡単です: やるべきことは、「[Cloud ウェブサイト]」にあなたの GitHub アカウントでサインインし、「所属組織」と「アプリケーション」を作成、「リリース版」作成のためにそのCLI(コマンドライン・インターフェイス)をインストールし、Tauri バンドルをアップロードするだけです。 +さらには、[GitHub Action] も提供されており、GitHub ワークフローで CLI を使用するプロセスが簡素化されています。 + +詳細については、[CrabNebula Cloud ドキュメント](英語版)を参照してください。 + +[CrabNebula]: https://crabnebula.dev +[CrabNebula Cloud]: https://crabnebula.dev/cloud/ +[GitHub Action]: https://github.com/crabnebula-dev/cloud-release/ +[Cloud ウェブサイト]: https://web.crabnebula.cloud/ +[CrabNebula Cloud ドキュメント]: https://docs.crabnebula.dev/cloud/ + +
+ 【※ この日本語版は、「Feb 22, 2025 英語版」に基づいています】 +
diff --git a/src/content/docs/ja/distribute/debian.mdx b/src/content/docs/ja/distribute/debian.mdx new file mode 100644 index 0000000000..3ca611697a --- /dev/null +++ b/src/content/docs/ja/distribute/debian.mdx @@ -0,0 +1,45 @@ +--- +title: Debian +sidebar: + order: 1 +i18nReady: true +--- + +{/* Is this about building .deb files, creating PPAs, or adding something to the debian/ubuntu repos? */} + +import TranslationNote from '@components/i18n/TranslationNote.astro'; + +## Debian(デビアン) + +Tauri バンドラーによって生成される通常の [Debian] パッケージには、あなたのアプリケーションを Debian ベースの Linux ディストリビューションに配布するために必要なものがすべて含まれています。たとえば、アプリケーション・アイコンの定義、デスクトップ・ファイルの生成、`libwebkit2gtk-4.1-0` と `libgtk-3-0` の依存関係の指定(もしアプリケーションがシステム・トレイを使用しているのであれば `libappindicator3-1` の依存関係も)、などです。 + +### カスタム・ファイル + +より多くの調整が必要な場合に備えて、Tauri は Debian パッケージの設定をいくつか公開しています。 + +あなたのアプリが他のシステム依存関係をも必要としている場合は、`tauri.conf.json > bundle > linux > deb` で指定できます。 + +Debian パッケージにカスタム・ファイルを含めるには、`tauri.conf.json > bundle > linux > deb > files` にファイルまたはフォルダのリストを指定します。設定オブジェクトは、Debian パッケージ内のパスを、あなたのファイルシステム上のファイルへのパスに、`tauri.conf.json` ファイルからの相対パスで展開(マッピング)します。以下が設定事例です: + +```json +{ + "bundle": { + "linux": { + "deb": { + "files": { + "/usr/share/README.md": "../README.md", // 「../README.md」ファイルを「/usr/share/README.md」にコピー + "/usr/share/assets": "../assets/" // 「../assets」ディレクトリのすべてを「/usr/assets」にコピー + } + } + } + } +} +``` + + + +[Debian]: https://www.debian.or.jp/using/ + +
+ 【※ この日本語版は、「Feb 22, 2025 英語版」に基づいています】 +
diff --git a/src/content/docs/ja/distribute/dmg.mdx b/src/content/docs/ja/distribute/dmg.mdx new file mode 100644 index 0000000000..e995d4d97f --- /dev/null +++ b/src/content/docs/ja/distribute/dmg.mdx @@ -0,0 +1,135 @@ +--- +title: DMG +sidebar: + order: 1 +i18nReady: true +--- + +import CommandTabs from '@components/CommandTabs.astro'; +import { Image } from 'astro:assets'; +import StandardDmgLight from '@assets/distribute/dmg/standard-dmg-light.png'; +import StandardDmgDark from '@assets/distribute/dmg/standard-dmg-dark.png'; +import TranslationNote from '@components/i18n/TranslationNote.astro'; + +DMG(Apple ディスク・イメージ・ファイル)形式は、一般的な macOS インストーラー・ファイルで、[App Bundle][macOS Application Bundle の章] をユーザーフレンドリーな「インストール・ウィンドウ」にラップ(包含)します。 + +「インストーラー・ウィンドウ」には、「アプリのアイコン」と「アプリケーション・フォルダーのアイコン」が含まれており、ユーザーはその「アプリ・アイコン」を「アプリケーション・フォルダー・アイコン」上にドラッグすることでインストールが行なわれることになっています。 +このやりかたは、App Store 以外で配布される macOS アプリケーションの最も一般的なインストール方法です。 + +この章では、App Store とは別の方法で、DMG 形式を使用してアプリを配布するための詳細のみを説明します。 +macOS の配布オプションと設定の詳細については、[macOS Application Bundle の章] を参照してください。 +macOS アプリを App Store で配布するには、[App Store の章] を参照してください。 + +アプリの「Apple ディスク・イメージ」を作成するには、Tauri CLI を使用して、Mac コンピューターで `tauri build` コマンドを実行します: + + + +Standard DMG window +Standard DMG window + +## ウィンドウの背景 + +[`tauri.conf.json > bundle > macOS > dmg > background`] の設定オプションを使用して、DMG のインストール・ウィンドウにカスタム背景画像を設定できます。 + +```json title="tauri.conf.json" ins={4-6} +{ + "bundle": { + "macOS": { + "dmg": { + "background": "./images/" + } + } + } +} +``` + +たとえば、DMG の背景画像に「矢印」を表示して、ユーザーにアプリのアイコンをアプリケーション・フォルダの方向にドラッグする必要があることを示すことができます。 + +## ウィンドウのサイズと位置 + +デフォルトのウィンドウサイズは「660x400」です。カスタム背景画像に合わせて異なるサイズにしたい場合は、[`tauri.conf.json > bundle > macOS > dmg > windowSize`] で設定を行なってください: + +```json title="tauri.conf.json" ins={5-8} +{ + "bundle": { + "macOS": { + "dmg": { + "windowSize": { + "width": 800, + "height": 600 + } + } + } + } +} +``` + +さらに、[`tauri.conf.json > bundle > macOS > dmg > windowPosition`] の設定で初期ウィンドウの位置を指定することもできます: + +```json title="tauri.conf.json" ins={5-8} +{ + "bundle": { + "macOS": { + "dmg": { + "windowPosition": { + "x": 400, + "y": 400 + } + } + } + } +} +``` + +## アイコンの位置 + +アプリと*アプリケーション・フォルダ*のアイコンの位置は、それぞれ [appPosition] と [applicationFolderPosition] の設定値で変更できます: + +```json title="tauri.conf.json" ins={5-12} +{ + "bundle": { + "macOS": { + "dmg": { + "appPosition": { + "x": 180, + "y": 220 + }, + "applicationFolderPosition": { + "x": 480, + "y": 220 + } + } + } + } +} +``` + +:::caution +既知の問題により、CI/CD プラットフォームで DMG を作成した場合には、アイコンのサイズと位置は適用されません。 +詳細については、[tauri-apps/tauri#1731]を参照してください。 +::: + +[macOS Application Bundle の章]: /ja/distribute/macos-application-bundle/ +[App Store の章]: /ja/distribute/app-store/ +[appPosition]: /reference/config/#appposition +[applicationFolderPosition]: /reference/config/#applicationfolderposition +[tauri-apps/tauri#1731]: https://github.com/tauri-apps/tauri/issues/1731 + +
+ 【※ この日本語版は、「Mar 29, 2025 英語版」に基づいています】 +
diff --git a/src/content/docs/ja/distribute/index.mdx b/src/content/docs/ja/distribute/index.mdx new file mode 100644 index 0000000000..11ddd52506 --- /dev/null +++ b/src/content/docs/ja/distribute/index.mdx @@ -0,0 +1,254 @@ +--- +title: アプリの配布 +sidebar: + order: 0 + label: 概要 +i18nReady: true +--- + +import { CardGrid, LinkCard, LinkButton } from '@astrojs/starlight/components'; +import CommandTabs from '@components/CommandTabs.astro'; +import TranslationNote from '@components/i18n/TranslationNote.astro'; + +Tauri は、自分のアプリケーションを、各プラットフォームのアプリ・ストアに向けて、あるいはプラットフォーム固有のインストーラーとして、あなたが配布を行なうために必要なツールを提供しています。 + +## ビルド + +Tauri は、CLI(コマンド・ライン・インターフェース)から `build`、`android build`、`ios build` コマンドを使用して、直接アプリケーションをビルドできます。 + + + +各バンドルで使用できる設定オプションと、ユーザーに配布する方法の詳細については、「[配布](#配布)」の項を参照してください。 + +:::note +ほとんどのプラットフォームでは「コード署名」が必要です。詳しくは「[署名](#署名)」の項をご覧ください。 +::: + +### バンドル + +デフォルトでは、`build` コマンドは設定された形式に合わせてアプリケーションを自動的にバンドルします。 + +プラットフォーム用バンドルの作成方法をさらにカスタマイズする必要がある場合は、「ビルド」と「バンドル」の手順を分割できます。 + + + +## バージョン管理 + +アプリケーションのバージョンは [`tauri.conf.json > version`] の設定オプションで定義できます。これは、アプリのバージョンを管理するために推奨される方法です。 +この値が設定されていない場合、Tauri は代わりに `src-tauri/Cargo.toml` ファイルの `package > version` の値を使用します。 + +:::note +一部のプラットフォームでは、「バージョン」の文字列に関していくつかの制限や特例があります。 +詳細については、それぞれのディストリビューションのドキュメントを参照してください。 +::: + +## 署名 + +「コード署名」は、アプリケーションの実行可能ファイルとバンドルにデジタル署名を適用し、アプリケーション提供者の「身元証明書」を検証することで、アプリケーションのセキュリティを強化するものです。 + +ほとんどのプラットフォームでは署名が必要です。詳細については、各プラットフォームのドキュメントをご覧ください。 + + + + + + + + + +## 配布 + +各プラットフォーム向けにアプリケーションを配布する方法を学びます。 + +### Linux の場合 + +Linux の場合、Debian パッケージ、Snap、AppImage、Flatpak、RPM、または Arch User Repository (AUR) 形式を使用してアプリを配布できます。 + + + + + + + + + + +コード署名 + +### macOS の場合 + +macOS の場合、アプリケーションを App Store で直接配布する方法と、直接ダウンロード用として DMG インストーラーを配布する方法があります。 +どちらの方法でも「コード署名」は必要であり、App Store 外で配布する場合は「認証」も必要です。 + + + +**認証** 原文は notarization: 「公証=私文書の真実性を証明」することが原意ですが、本稿では「認証 ≒ authorization」と訳しています。 + + + + + + + + + +コード署名と認証 + +### Windows の場合 + +Microsoft Store で配布する方法、または Windows インストーラーを設定する方法について説明します。 + + + + + + +コード署名 + +### Android の場合 + +Android アプリケーションを Google Play で配布します。 + + + + + +コード署名 + +### iOS の場合 + +アプリケーションを App Store にアップロードする方法を学びます。 + + + + + +コード署名 + +### クラウド・サービスを利用する + +アプリケーションを世界中に配布し、設定不要の自動更新をサポートするクラウド・サービスでアプリケーションを配布します。 + + + + + +[`tauri.conf.json > version`]: /reference/config/#version + +
+ 【※ この日本語版は、「Mar 29, 2025 英語版」に基づいています】 +