gpt4 book ai didi

ios - 我们如何使用应用程序扩展为 iOS 应用程序配置 CI

转载 作者:行者123 更新时间:2023-12-03 00:41:14 27 4
gpt4 key购买 nike

我在 Azure DevOps (VSTS) 中尝试了多种方法来为 iOS 应用程序创建 CI,但事实证明 Azure DevOps doesn't support具有应用程序扩展的应用程序。真的是这样吗?

我正在使用OneSignal Notification Service Extension在我们的项目中,这取决于主要目标。所以,当 Xcode task尝试对应用程序进行签名时,会发生与构建标识符相关的错误,因为 Xcode 主目标的构建标识符与 OneSignalNotificationServiceExtension 的构建标识符不同

❌ error: Provisioning profile "MainTargetName" has app ID "com.xyz.-", which does not match the bundle ID "com.xyz.-.OneSignalNotificationServiceExtension". (in target 'OneSignalNotificationServiceExtension' from project 'ProjectName')

我正在使用apple certificate在 Microsoft 托管代理上安装证书的任务,并类似地使用 provisioning profile安装配置文件的任务。看起来 Xcode 任务 有一个 limitation 它无法获取多个配置文件,因此它可以满足那些具有应用程序扩展的iOS应用程序。

- task: InstallAppleCertificate@2
displayName: 'Install Certificates'
inputs:
certSecureFile: '3Certificates.p12'
certPwd: '$(P12Password)'
keychain: 'temp'


- task: InstallAppleProvisioningProfile@1
displayName: 'Install MainTarget provisioning profile'
inputs:
provisioningProfileLocation: 'secureFiles'
provProfileSecureFile: 'MainTarget.mobileprovision'

- task: InstallAppleProvisioningProfile@1
displayName: 'Install OneSignal provisioning profile'
inputs:
provisioningProfileLocation: 'secureFiles'
provProfileSecureFile: 'OneSignal.mobileprovision'

- task: CmdLine@2
displayName: 'CocoaPods install'
inputs:
script: |
cd $(Build.SourcesDirectory)
echo "Pod installation"
pod install
- task: Xcode@5
displayName: 'Xcode Build'
inputs:
actions: 'build'
xcWorkspacePath: 'CICD.xcworkspace'
scheme: 'CICD'
xcodeVersion: 'specifyPath'
xcodeDeveloperDir: '/Applications/Xcode_11.2.1.app'
packageApp: true
exportOptions: 'plist'
exportOptionsPlist: 'CICD/Info.plist'
signingOption: 'manual'
signingIdentity: '$(MY_CERTIFICATE_SIGN_IDENTITY)'
provisioningProfileUuid: '$(MainTarget_ProfileUUID)'
provisioningProfileName: '$(MainTarget_ProfileName)'

如果我在这里遗漏了什么,请告诉我。

最佳答案

我设法用一种简单的方式让它工作。

  • 使用 XCode 在本地编译您的项目
  • 将其存档并导出以供您使用(对我来说是 Testflight 上传)
  • 在导出 .ipa 的文件夹中,您将找到“export-options.plist”
  • 在 Azure Pipeline 中,XCode 构建任务在“导出选项 plist”中指定此文件 enter image description here

(您必须将文件添加到存储库中并提交/推送)

还有田田!引导我到达那里的来源:https://blog.bitrise.io/new-export-options-plist-in-xcode-9

关于ios - 我们如何使用应用程序扩展为 iOS 应用程序配置 CI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62772507/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com