>我正在尝试使用Fastlane和CircleCI来帮助自动部署到iOS App Store。我不断收到一个错误,说Code signing is required for product type 'App Extension' in SDK 'iOS 10.3'
.我试过使用快车道匹配,但这似乎并没有真正的帮助。我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 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://stackoverflow.com/q/35390072/774.
(Check in Keychain Access for an expired WWDR certificate: https://stackoverflow.com/a/35409835/774 has more info.)
问题是堆栈溢出与推送服务有关。我的应用目前不使用推送通知。此外,我无法真正检查钥匙串访问,因为它使用的是 Circle CI。
我能够通过取消选中所有目标的Automatically manage signing
并为每个目标设置配置文件来解决此问题。我关注了这个问题,这个问题提供了这些信息。
尝试使用以下参数运行匹配
match(type: "appstore", app_identifier: "your.app.identifier", force: true, force_for_new_devices: true)
app_identifier
是项目的标识符。 这将为该类型为appstore
的app_identifier
生成一个新的配置文件。
我在从 Xcode 9(它曾经工作的地方)迁移到 Xcode 8 时遇到了同样的问题。
取消选中"目标"下所有框架(Pod)的自动管理签名是解决方案。