ionic cordova xcode 9构建开发团队和冲突的配置文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ionic cordova xcode 9构建开发团队和冲突的配置文件相关的知识,希望对你有一定的参考价值。
我运行了一个2年前开始使用XCode7构建的Ionic应用程序,我决定转移到最新版本的XCode即9.我遇到了很多问题,阅读了很多内容并尝试了很多东西,但我我还是卡在不知名的地方。当我使用XCode 7构建应用程序时,一切都很好,我可以在应用程序商店上构建和分发。
这是使用XCode 9的问题:
- 需要DEVELOPMENT_TEAM所以我添加了build.json和开发团队编号。现在的构建说我有相互矛盾的配置文件。当XCode7可以实现时,这怎么可能呢?
- 有人说,如果我设法构建(我现在不支持)推送通知也会因为xCode 9中的一些权利问题而停止工作。
我真的很担心,没有答案。离子用户,你有没有设法从XCode 7移动到XCode 8或9?怎么样?注意事项?示例项目?
Cordova CLI: 6.4.0
Ionic CLI Version: 2.2.3
Ionic App Lib Version: 2.2.1
ios-deploy version: 1.9.2
ios-sim version: 5.0.13
OS: macOS
Node Version: v7.10.0
Xcode version: Xcode 9.0.1 Build version 9A1004
如果你需要答案,这就是我修复它的方法。
首先,您必须知道我不能也不想使用自动签名,因为我有大量现有的配置文件,我使用的是jenkins,在没有大量关于离子的文档的情况下不能冒险破坏某些东西/ cordova /推送通知和自动签名。
1)您需要提供build.json。你必须。真。
离子构建ios --buildConfig build.json
这是我的build.json。
{
"ios": {
"debug": {
"codeSignIdentity": "iPhone Distribution",
"developmentTeam": "****",
"packageType": "ad-hoc",
"provisioningProfile" : "****"
},
"release": {
"codeSignIdentity": "iPhone Distribution",
"developmentTeam": "****",
"packageType": "app-store",
"provisioningProfile" : "***"
}
}
}
我遇到了很多问题,因为我为我的测试人员以及stackoverflow / internet博客上的所有地方构建了一个临时版本,即使你构建了分发版,也必须使用“iPhone Developer”。对我来说情况并非如此。如果您需要ad-hoc构建,则需要将代码签名设置为“iPhone Distribution”并添加您可以在〜/ Library / MobileDevice / Provisioning Profiles中找到的供应配置文件。例如:ac073a34 - **** - **** - **** - 623f0724c119。如果您不知道哪一个是您所追求的那个,您可以使用您的应用ID“grep”它们。这意味着每次更新配置文件时都必须在构建配置中更改此编号...您必须喜欢它。
2)推送通知无法开箱即用
确保您的cordova推送插件是最新的。我的版本1被困,但最新的“版本1”似乎没问题。
ionic plugin add phonegap-plugin-push@1.10.6 --variable SENDER_ID=${sender_id}
STILL,生成的xcode项目中的推送通知功能不是“ON”。你必须在MANUALLY上进行切换,这是从jenkins构建时的正确痛苦。但它的工作原理使得解决方法有些“可接受”。如果有人知道如何让插件在不打开xcode projet的情况下将功能切换为“ON”,那将是非常棒的!
3)当您生成ipa时,您必须提供export.plist
这不是事先要求的。使用XCode 7,您可以使用PackageApplication进行xcrun并完成工作。那么,现在PackageApplication不可用,并且在导出时需要更多工作。提醒一下,我想为我的测试人员建立特别的ipa。这可能与testflight有所不同。
在我的构建脚本中:
cd platforms/ios
xcodebuild
-target "${PROJECT_NAME}"
-scheme "${PROJECT_NAME}"
-configuration Release
-archivePath "build.xcarchive"
clean archive
xcodebuild
-exportArchive
-archivePath "build.xcarchive"
-exportOptionsPlist "export.plist"
-exportPath "${EXPORT_DIRECTORY}"
Export.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>method</key>
<string>ad-hoc</string>
<key>teamID</key>
<string>*****</string>
<key>provisioningProfiles</key>
<dict>
<key>YOUR_APP_ID</key>
<string>PROVISIONING_PROFILE_FUNKY_STRING</string>
</dict>
</dict>
</plist>
我在具有多个环境和多个配置文件的相同项目上有多个目标,我可以告诉您,我不满意在之前不需要提供此类详细信息。如果有人知道如何缓解疼痛,我很乐意听取您的意见。
谢谢Apple,你不是让我的生活更轻松。
以上是关于ionic cordova xcode 9构建开发团队和冲突的配置文件的主要内容,如果未能解决你的问题,请参考以下文章
IONIC 4:“ionic cordova build ios”不显示使用 Xcode 10.1 构建失败或成功
构建vue+ionic+cordova项目,开发全平台APP
Azure DevOps 的 Ionic macOS 构建问题