创建环境特定配置
平台: iOS、Android
许多软件开发团队在软件开发生命周期中使用不同的环境。配置可能在环境之间有所不同,例如 bundle ID、深度链接方案或图标和启动画面。
Capacitor 配置文件处理 Capacitor 工具和插件配置的高级选项。iOS 方案和 Android 产品风格允许开发人员为不同环境提供不同的应用值。通过将两者结合,开发人员可以使用 Capacitor CLI 为不同环境构建应用。
本指南将引导您设置 QA 环境配置以及开箱即用的默认环境配置。为了演示每个环境之间的差异,应用名称和 bundle ID 将在两者之间有所不同。
准备 Capacitor 应用
您需要一个添加了 iOS 和 Android 平台的 Capacitor 应用。如果您有一个添加了两个平台的现有 Capacitor 应用,请跳过此部分。
根据您的偏好,您可以 将 Capacitor 添加到现有的 Web 应用 或 使用 Ionic Framework 创建新的 Capacitor 应用。
Capacitor 应用必须 使用 TypeScript 进行配置。本指南使用 capacitor.config.ts 来动态导出不同的配置。
在向项目添加任何本机平台之前,您必须至少构建一次 Capacitor 应用。
npm run build
构建完成后,您可以添加平台。
npm install @capacitor/ios @capacitor/android
npx cap add ios
npx cap add android
设置新的 iOS 方案
创建新的 Xcode 目标
首先在 Xcode 中打开本机 iOS 项目:npx cap open ios。
- 转到 Project Navigator 面板中的项目设置。在 Targets 部分下,右键单击"App"目标并选择 Duplicate 以复制现有目标。
- 单击新的"App copy"目标并按
Enter键重命名它。将目标的名称设置为"App QA"。
此过程创建了一个额外的"App copy"方案,并添加了一个名为 App copy-Info.plist 的新文件。
您可以在此链接中找到有关 iOS 目标的更多信息。
重命名新方案和 Plist 文件
- 从 Scheme 菜单中选择 Manage Schemes...。
- 找到"App copy"方案并按
Enter键重命名它。将名称设置为"App QA"并关闭对话框。 - 在 Project Navigator 面板中找到"App copy-Info"文件并按
Enter键重命名它。将文件名设置为"App QA-Info.plist"。 - 返回项目设置。确保选择了"App QA"目标,打开 Build Settings 部分。向下滚动到 Packaging 并更改 Info.plist File 条目为"App QA-Info.plist"。
iOS 项目现在有两个可运行的方案:"App"和"App QA"。Capacitor 的配置文件允许您在 run 命令期间提供要构建的方案。
您可以在此链接中找到有关 iOS 方案的更多信息。
设置环境特定值
返回项目设置的 General 部分。确保选择了"App QA"目标,并更改 Display Name 和 Bundle Identifier。
确保这些值与默认"App"目标的现有值不同。目标特定值存储在目标关联的 Info.plist 文件中。按照本指南,该文件是 App QA-Info.plist。
更新 Podfile 并同步应用
退出 Xcode;从现在开始您可以使用您喜欢的 IDE。
打开 /ios/App/Podfile 并复制"App"目标的代码块,将重复条目的"App"替换为"App QA",如下所示:
...snip...
target 'App' do
capacitor_pods
# 在此处添加您的 Pods
end
target 'App QA' do
capacitor_pods
# 在此处添加您的 Pods
end
运行 npx cap sync 以使用"App QA"目标同步插件。