iOS jenkins Xcode9编译错误

最近在使用jenkins平台打包时突然失败了,查看日志后发现是在exportArchive时失败了。之前一直都是好好地,升级了Xcode之后突然就不行了,提示如下信息:

error: exportArchive: "AppName.app" requires a provisioning profile with the Push Notifications and App Groups features.
Error Domain=IDEProvisioningErrorDomain Code=9
"AppName.app" requires a provisioning profile with the Push Notifications and App Groups features." UserInfo={NSLocalizedDescription="AppName.app" requires a provisioning profile with the Push Notifications and App Groups features., NSLocalizedRecoverySuggestion=Add a profile to the "provisioningProfiles" dictionary in your Export Options property list.}
image

查阅资料后发现,在Xcode9下,xcodebuild需要配置更多的信息才能导出ipa,最主要的一个就是provisioningProfiles。

  • 使用Xcode Archive一个新的版本


    iOS jenkins Xcode9编译错误_第1张图片
    image
  • 在Organizer中找到刚刚Archive出来的版本,选择Export。


    iOS jenkins Xcode9编译错误_第2张图片
    image
  • 选择你要导出的ipa类型,如果你需要不同版本,可以重复该流程,就可以得到其他类型所需要的信息了。也可以选择Enterprise或development。


    iOS jenkins Xcode9编译错误_第3张图片
    image
  • 导出ipa到目录


    iOS jenkins Xcode9编译错误_第4张图片
    image
  • 最终导出的目录下会有4个文件,除了ipa文件还有一个ExportOptions.plist文件,这个文件就是我们使用xcodebuild -exportArchive命令时,-exportOptionsPlist参数需要指定的plist文件。


    iOS jenkins Xcode9编译错误_第5张图片
    image

我们用这个新的plist文件就可以了。如果你需要打其他类型的ipa,可以重复上述步骤,在第三步重新选择即可。你也可以按照刚才导出的plist自己修改。

新的plist中有如下一些选项,你也可以参照修改。可以选择复制替换,或打开plist文件逐条修改。

iOS jenkins Xcode9编译错误_第6张图片
image




    compileBitcode
    
    export_method
    development
    teamID
    xxxxxxxxxx
    manifest
    
        appURL
        bac.ipa
        displayImageURL
        aba
        fullSizeImageURL
        abc
    
    provisioningProfiles
    
        xxx.xxxxx.xxxx
        xxxxxxxx_xxx
    
    signingCertificate
    iPhone Developer
    stripSwiftSymbols
    
    thinning
    <none>


你可能感兴趣的:(iOS jenkins Xcode9编译错误)