我正在使用 fastlane 构建我的应用程序并将其发送到 testflight。这一直有效,直到我添加了通知扩展。现在它总是给我错误:
错误域 = IDEProvisioningErrorDomain 代码 = 9 “OneSignalNotificationServiceExtension.appex”需要具有应用程序组功能的配置文件。” UserInfo={NSLocalizedDescription="OneSignalNotificationServiceExtension.appex" 需要具有应用程序组功能的配置文件。, NSLocalizedRecoverySuggestion=将配置文件添加到导出选项属性列表中的“provisioningProfiles”字典中。}
一切都应该在 Xcode 上自动处理,我的 fastfile 如下所示:
default_platform(:ios)
platform :ios do
before_all do
increment_build_number
end
desc "Push a new beta build to TestFlight"
lane :beta do
get_certificates # invokes cert
get_provisioning_profile # invokes sigh
build_app(workspace: "MyApp.xcworkspace", scheme: "MyApp (Production)")
pilot(skip_waiting_for_build_processing: true)
end
end
Run Code Online (Sandbox Code Playgroud)
我的应用程序的捆绑包标识符类似于 com.myapp.ios,我的通知服务的捆绑包标识符类似于 com.myapp.ios.notificationservice。
我尝试过手动为不同的捆绑包标识符创建多个配置文件,但 fastlane 只选择一个。我怎样才能解决这个问题?
我通过更改手动指定快速文件中的配置文件来修复此问题,如下所示:
default_platform(:ios)
platform :ios do
before_all do
increment_build_number
end
desc "Push a new beta build to TestFlight"
lane :beta do
get_certificates # invokes cert
get_provisioning_profile # invokes sigh
build_app(workspace: "MyApp.xcworkspace",
scheme: "MyApp (Production)",
export_method: "app-store",
export_options: {
provisioningProfiles: {
"com.myapp.ios" => "com.myapp.ios AppStore 1530397498",
"com.myapp.ios.OneSignalNotificationServiceExtension" => "MyApp Notification Extension Provisioning Profile"
}
})
pilot(skip_waiting_for_build_processing: true)
end
end
Run Code Online (Sandbox Code Playgroud)
如果你想使用匹配,你可以export_options用这个替换:
match(
app_identifier:["com.myapp.ios","com.myapp.ios.OneSignalNotificationServiceExtension"],
type: "appstore"
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4491 次 |
| 最近记录: |