原生错误
代码签名错误
Code Signing Error: Failed to create provisioning profile. The app ID "com.csform.ionic.yellow" cannot be registered to your development team. Change your bundle identifier to a unique string to try again. Code Signing Error: No profiles for 'com.csform.ionic.yellow' were found: Xcode couldn't find any iOS App Development provisioning profiles matching 'com.csform.ionic.yellow'. Code Signing Error: Code signing is required for product type 'Application' in SDK 'iOS 11.1'
在 iOS 设备上运行应用程序需要配置文件。 如果尚未创建配置文件,请按照以下说明进行操作
-
设置 包 ID。
对于 Capacitor,打开 `capacitor.config.json` 文件并修改 `appId` 属性。
对于 Cordova,打开 `config.xml` 文件并修改根元素 `<widget>` 的 `id` 属性。 有关更多信息,请参阅 Cordova 文档。
-
在 **Xcode** 中打开项目。
对于 Capacitor,运行以下命令在 Xcode 中打开应用程序
$ ionic capacitor open ios
对于 Cordova,打开 Xcode。 使用 **文件** » **打开** 并找到应用程序。 打开应用程序的 `platforms/ios` 目录。
- 在 **项目导航器** 中,选择项目根目录以打开项目编辑器。 在 **标识** 部分下,验证设置的包 ID 是否与捆绑包标识符匹配。
-
**在同一个项目编辑器中,在 **签名** 部分下,确保 **自动管理签名** 已启用。** 然后,选择一个开发团队。 给定一个开发团队,Xcode 将尝试自动准备配置和签名。
Xcode 构建错误 65
Error: Error code 65 for command: xcodebuild with args: -xcconfig,/Users/ionitron/projects/my-project/platforms/ios/cordova/build-debug.xcconfig,-workspace,SC project.xcworkspace,-scheme,SC project,-configuration,Debug,-sdk,iphonesimulator,-destination,platform=iOS Simulator,name=iPhone X,build,CONFIGURATION_BUILD_DIR=/Users/ionitron/projects/my-project/platforms/ios/build/emulator,SHARED_PRECOMPS_DIR=/Users/ionitron/projects/my-project/platforms/ios/build/sharedpch
此错误是 Xcode 中的错误代码,可能是由于配置问题或过时的 Cordova 依赖项造成的。 要修复此错误,首先确保已使用上述说明生成了配置文件,然后尝试 从 Xcode 运行应用程序。
如果这不能修复错误,则运行以下命令
rm -rf node_modules
rm -rf platform
npm i
ionic cordova platform add ios
ionic cordova prepare ios
ionic cordova build ios --prod
运行完这些命令后,就可以进行新的构建了。
冲突的 Google Play 服务版本
Error: more than one library with package name com.google.android.gms
此错误是由两个独立的插件尝试使用不同版本的 `Google Play 服务` 引起的。 要解决此问题,请确保您运行的是 `cordova` 版本 `7.1.0` 或更高版本,以及 `cordova-android` `6.3.0` 或更高版本。 要安装最新的 `cordova`,请运行
npm install cordova@latest
要更新 `cordova-android`,请运行
cordova platform update android
现在可以更新依赖于 `Google Play 服务` 的插件以使用相同的版本。 例如,如果 `pluginA` 使用版本 11.0 并且 `pluginB` 使用版本 15.0,则可以使用 `config.xml` 文件中的以下代码段将它们更新为使用相同的版本
<plugin name="pluginA" spec="npm">
<variable name="PLAY_SERVICES_VERSION" value="15.0.0"/>
</plugin>
<plugin name="pluginB" spec="npm">
<variable name="PLAY_SERVICES_VERSION" value="15.0.0" />
</plugin>