Fastlane 代码签名需要错误

Posted

技术标签:

【中文标题】Fastlane 代码签名需要错误【英文标题】:Fastlane Code signing required error 【发布时间】:2017-07-14 20:55:38 【问题描述】:

我正在尝试使用 Fastlane 和 CircleCI 来帮助自动部署到 ios App Store。我不断收到一条错误消息,上面写着Code signing is required for product type 'App Extension' in SDK 'iOS 10.3'。我尝试过使用 Fastlane Match,但这似乎并没有帮助。我的Fastfile 的重要部分如下。

desc "Deploy a new version to the App Store"
lane :release do
  match(type: "appstore")
  gym(scheme: "myapp", workspace: "myapp.xcworkspace", include_bitcode: true, export_method: "app-store") # Build your app - more options available
  deliver(force: true)
end

为了设置 Fastlane Match,我运行了以下命令。

fastlane match init
fastlane match nuke distribution
fastlane match appstore

我还在安装配置文件之前收到以下消息。

[11:40:08]: There are no local code signing identities found.
You can run `security find-identity -v -p codesigning` to get this output.
This Stack Overflow thread has more information: https://***.com/q/35390072/774.
(Check in Keychain Access for an expired WWDR certificate: https://***.com/a/35409835/774 has more info.)

问题是堆栈溢出与推送服务有关。我的应用目前不使用推送通知。我也无法真正检查钥匙串访问,因为它使用的是 Circle CI。

【问题讨论】:

【参考方案1】:

我可以通过取消选中所有目标的Automatically manage signing 并为每个目标设置配置文件来解决此问题。我关注了提供该信息的this question。

【讨论】:

【参考方案2】:

尝试使用以下参数运行匹配

match(type: "appstore", app_identifier: "your.app.identifier", force: true, force_for_new_devices: true)

app_identifier 是您项目的标识符。 这将为 app_identifier 类型的 appstore 生成一个新配置文件。

【讨论】:

现在测试这个。完成后将报告。 同样的问题。 Code signing is required for product type 'App Extension' in SDK 'iOS 10.3' 哦,你的项目中有应用扩展? 是的,2 个应用扩展,共享扩展和一个 iMessage 应用 您也需要为您的应用扩展运行相同的通道。【参考方案3】:

我在从 Xcode 8 迁移到 Xcode 9 时遇到了同样的问题(它曾经可以工作)。

为我的所有框架(Pod)在 Targets 下取消选中自动管理签名是解决方案。

【讨论】:

以上是关于Fastlane 代码签名需要错误的主要内容,如果未能解决你的问题,请参考以下文章

自动化打包之fastlane-- 代码签名和项目配置

如何在使用 Xcode 自动代码签名的同时使用 Fastlane 和 Crashlytics 进行构建?

使用 Xcode 和 Fastlane 在 Azure DevOps Pipelines 中对 iOS 应用程序进行代码签名时遇到问题

Fastlane - 多重协同签名身份

Fastlane 匹配不使用现有的签名证书

无法通过 fastlane 使用 Google Play 应用签名将 android 包上传到 Google Play