部署到 iOS 和 Android
由于我们在创建项目时就已经添加了 Capacitor,因此只需少量步骤即可将相册应用运行到我们的设备上!
Capacitor 设置
Capacitor 是 Ionic 的官方应用运行时,可轻松将 Web 应用部署到 iOS、Android 等原生平台。如果你之前使用过 Cordova,建议阅读有关差异的更多信息。
如果你仍在终端中运行 ionic serve,请先终止它。完成 Ionic 项目的全新构建,并修复报告的任何错误:
ionic build
接下来,创建 iOS 和 Android 项目:
ionic cap add ios
ionic cap add android
项目的根目录下会创建 android 和 ios 文件夹。这些是完全独立的原生项目,应视为 Ionic 应用的一部分(即, 将其纳入版本控制,使用原生工具进行编辑等)。
每次执行构建(例如 ionic build)更新了 Web 目录(默认:build)后,都需要将这些更改复制到原生项目中:
ionic cap copy
注意:在对原生代码部分(例如添加新插件)进行更改后,请使用 sync 命令:
ionic cap sync
iOS 部署
要构建 iOS 应用,你需要一台 Mac 电脑。
Capacitor iOS 应用通过 Xcode(Apple 的 iOS/Mac IDE)进行配置和管理,依赖项由 CocoaPods 管理。在 iOS 设备上运行此应用之前,需要完成几个步骤。
首先,运行 Capacitor 的 open 命令,该命令会在 Xcode 中打开原生 iOS 项目:
ionic cap open ios
为了使某些原生插件正常工作,必须配置用户权限。在我们的相册应用中,这包括 Camera 插件:iOS 会在首次调用 Camera.getPhoto() 后自动显示一个模态对话框,提示用户允许应用使用相机。驱动此权限的标签是 "Privacy - Camera Usage"。要设置它,需要修改 Info.plist 文件(更多详情请点击此处)。要访问它,请单击 "Info",然后展开 "Custom iOS Target Properties"。

Info.plist 中的每个设置都有底层参数名称和高层名称。默认情况下,属性列表编辑器显示高层名称,但切换到显示原始底层名称通常很有用。为此,请在属性列表编辑器的任意位置右键单击,然后切换 "Raw Keys/Values"。
添加 NSCameraUsageDescription 键,并将值设置为描述应用为何需要使用相机的说明,例如 "To Take Photos"。当权限提示打开时,该值字段会显示给应用用户。
按照同样的过程添加 Camera 插件所需的其他两个键:NSPhotoLibraryAddUsageDescription 和 NSPhotoLibraryUsageDescription。
接下来,单击左侧项目导航器中的 App,然后在 Signing & Capabilities 部分中选择你的开发团队。