使用Fastlane进行推送通知服务? 在这种情况下,Wonderpush iOS

问题描述

我有一个Cordova应用程序,该应用程序可使用Fastlane成功构建(使用“ match”和“ fastlane-plugin-cordova”),并且正在尝试向其中添加推送通知-特别是,我正在使用Wonderpush并尝试最初可以在iOS上使用此功能,但我认为我的问题可能是使用通知服务扩展的任何推送通知服务所通用的。

添加了wonderpush-cordova-sdk Cordova插件,并且如果我通过Xcode手动构建该应用程序,则可以正常运行。

但是,如果我尝试通过Fastlane进行构建,则会收到错误消息:

error: Provisioning profile "match AppStore uk.co.mycompany.my-app" has app ID "uk.co.mycompany.my-app",which does not match the bundle ID "uk.co.mycompany.my-app.WonderPushNotificationServiceExtension". (in target 'WonderPushNotificationServiceExtension' from project 'My App')

(如果有用,请在下面进行完整跟踪)

问题似乎是我需要正确配置配置文件/证书/匹配,但是我一直在查看Fastlane文档,并且通常在SO / Google上进行搜索,到目前为止,我找不到任何示例可以跟踪正确执行此操作的人。

我已经尝试了从诸如 https://github.com/fastlane/fastlane/issues/12826https://github.com/fastlane/fastlane/issues/8563,但到目前为止,找不到适合我的配置行组合。

我的Fastfile非常简单:

    desc "Ship to Testflight"
    lane :beta do
        setup_project
        changelog_from_git_commits
        match(type: 'appstore')

        cordova(
            platform: 'ios',)

        upload_to_testflight(
            ipa: ENV['CORDOVA_IOS_RELEASE_BUILD_PATH'],)
    end

正如我所说,当我使用Wonderpush时,我假设您在尝试实施任何添加需要以这种方式签名的扩展的推送通知服务时遇到了相同的问题?

非常感谢任何有关进行的建议或指示!


完整的错误日志,以备不时之需:

[15:01:17]: Exit status of command 'npx --no-install cordova compile ios --release --device --packageType=app-store --developmentTeam=XXXXXXX --provisioningProfile=xxxxxxxxxxxxxxxxxxxx -- ' was 65 instead of 0.
Building project: /Users/me/Sites/project/src-cordova/platforms/ios/My App.xcworkspace
    Configuration: Release
    Platform: device
    Target:
Running command: xcodebuild -workspace My App.xcworkspace -scheme My App -configuration Release -destination generic/platform=iOS -archivePath My App.xcarchive archive CONfigURATION_BUILD_DIR=/Users/me/Sites/project/src-cordova/platforms/ios/build/device SHARED_PRECOMPS_DIR=/Users/me/Sites/project/src-cordova/platforms/ios/build/sharedpch
Command line invocation:
    /Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild -workspace "My App.xcworkspace" -scheme "My App" -configuration Release -destination generic/platform=iOS -archivePath "My App.xcarchive" archive CONfigURATION_BUILD_DIR=/Users/me/Sites/project/src-cordova/platforms/ios/build/device SHARED_PRECOMPS_DIR=/Users/me/Sites/project/src-cordova/platforms/ios/build/sharedpch

User defaults from command line:
    IDEArchivePathOverride = /Users/me/Sites/project/src-cordova/platforms/ios/My App.xcarchive

Build settings from command line:
    CONfigURATION_BUILD_DIR = /Users/me/Sites/project/src-cordova/platforms/ios/build/device
    SHARED_PRECOMPS_DIR = /Users/me/Sites/project/src-cordova/platforms/ios/build/sharedpch

note: Using new build system
note: Building targets in parallel
note: Planning build
note: Constructing build description
error: Provisioning profile "match AppStore uk.co.mycompany.my-app" has app ID "uk.co.mycompany.my-app",which does not match the bundle ID "uk.co.mycompany.my-app.WonderPushNotificationServiceExtension". (in target 'WonderPushNotificationServiceExtension' from project 'My App')

** ARCHIVE Failed **

xcodebuild: Command Failed with exit code 65


+------+----------------------------------+-------------+
|                   fastlane summary                    |
+------+----------------------------------+-------------+
| Step | Action                           | Time (in s) |
+------+----------------------------------+-------------+
| 1    | default_platform                 | 0           |
| 2    | Switch to ios setup_project lane | 0           |
| 3    | is_ci                            | 0           |
| 4    | changelog_from_git_commits       | 0           |
| 5    | is_ci                            | 0           |
| 6    | is_ci                            | 0           |
| 7    | is_ci                            | 0           |
| 8    | match                            | 5           |
| 9    | produce                          | 1           |
| 10   | is_ci                            | 0           |
| 11   | is_ci                            | 0           |
| 12   | is_ci                            | 0           |
| 13   | match                            | 5           |
| ?   | cordova                          | 6           |
+------+----------------------------------+-------------+

[15:01:17]: fastlane finished with errors

Looking for related GitHub issues on fastlane/fastlane...

Traceback (most recent call last):
    33: from /Users/me/.rvm/gems/ruby-2.7.1/bin/ruby_executable_hooks:24:in `<main>'
    32: from /Users/me/.rvm/gems/ruby-2.7.1/bin/ruby_executable_hooks:24:in `eval'
    31: from /Users/me/.rvm/gems/ruby-2.7.1/bin/fastlane:23:in `<main>'
    30: from /Users/me/.rvm/gems/ruby-2.7.1/bin/fastlane:23:in `load'
    29: from /Users/me/.rvm/gems/ruby-2.7.1/gems/fastlane-2.155.3/bin/fastlane:23:in `<top (required)>'
    28: from /Users/me/.rvm/gems/ruby-2.7.1/gems/fastlane-2.155.3/fastlane/lib/fastlane/cli_tools_distributor.rb:119:in `take_off'
    27: from /Users/me/.rvm/gems/ruby-2.7.1/gems/fastlane-2.155.3/fastlane/lib/fastlane/commands_generator.rb:41:in `start'
    26: from /Users/me/.rvm/gems/ruby-2.7.1/gems/fastlane-2.155.3/fastlane/lib/fastlane/commands_generator.rb:352:in `run'
    25: from /Users/me/.rvm/gems/ruby-2.7.1/gems/commander-fastlane-4.4.6/lib/commander/delegates.rb:15:in `run!'
    24: from /Users/me/.rvm/gems/ruby-2.7.1/gems/fastlane-2.155.3/fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb:76:in `run!'
    23: from /Users/me/.rvm/gems/ruby-2.7.1/gems/commander-fastlane-4.4.6/lib/commander/runner.rb:476:in `run_active_command'
    22: from /Users/me/.rvm/gems/ruby-2.7.1/gems/commander-fastlane-4.4.6/lib/commander/command.rb:153:in `run'
    21: from /Users/me/.rvm/gems/ruby-2.7.1/gems/commander-fastlane-4.4.6/lib/commander/command.rb:178:in `call'
    20: from /Users/me/.rvm/gems/ruby-2.7.1/gems/fastlane-2.155.3/fastlane/lib/fastlane/commands_generator.rb:108:in `block (2 levels) in run'
    19: from /Users/me/.rvm/gems/ruby-2.7.1/gems/fastlane-2.155.3/fastlane/lib/fastlane/command_line_handler.rb:36:in `handle'
    18: from /Users/me/.rvm/gems/ruby-2.7.1/gems/fastlane-2.155.3/fastlane/lib/fastlane/lane_manager.rb:47:in `cruise_lane'
    17: from /Users/me/.rvm/gems/ruby-2.7.1/gems/fastlane-2.155.3/fastlane/lib/fastlane/runner.rb:45:in `execute'
    16: from /Users/me/.rvm/gems/ruby-2.7.1/gems/fastlane-2.155.3/fastlane/lib/fastlane/runner.rb:45:in `chdir'
    15: from /Users/me/.rvm/gems/ruby-2.7.1/gems/fastlane-2.155.3/fastlane/lib/fastlane/runner.rb:49:in `block in execute'
    14: from /Users/me/.rvm/gems/ruby-2.7.1/gems/fastlane-2.155.3/fastlane/lib/fastlane/lane.rb:33:in `call'
    13: from Fastfile:97:in `block (2 levels) in parsing_binding'
    12: from /Users/me/.rvm/gems/ruby-2.7.1/gems/fastlane-2.155.3/fastlane/lib/fastlane/fast_file.rb:159:in `method_missing'
    11: from /Users/me/.rvm/gems/ruby-2.7.1/gems/fastlane-2.155.3/fastlane/lib/fastlane/runner.rb:157:in `trigger_action_by_name'
    10: from /Users/me/.rvm/gems/ruby-2.7.1/gems/fastlane-2.155.3/fastlane/lib/fastlane/runner.rb:229:in `execute_action'
     9: from /Users/me/.rvm/gems/ruby-2.7.1/gems/fastlane-2.155.3/fastlane/lib/fastlane/runner.rb:229:in `chdir'
     8: from /Users/me/.rvm/gems/ruby-2.7.1/gems/fastlane-2.155.3/fastlane/lib/fastlane/runner.rb:255:in `block in execute_action'
     7: from /Users/me/.rvm/gems/ruby-2.7.1/gems/fastlane-2.155.3/fastlane/lib/fastlane/actions/actions_helper.rb:50:in `execute_action'
     6: from /Users/me/.rvm/gems/ruby-2.7.1/gems/fastlane-2.155.3/fastlane/lib/fastlane/runner.rb:263:in `block (2 levels) in execute_action'
     5: from /Users/me/.rvm/gems/ruby-2.7.1/gems/fastlane-plugin-cordova-3.0.0/lib/fastlane/plugin/cordova/actions/cordova_action.rb:129:in `run'
     4: from /Users/me/.rvm/gems/ruby-2.7.1/gems/fastlane-plugin-cordova-3.0.0/lib/fastlane/plugin/cordova/actions/cordova_action.rb:116:in `build'
     3: from /Users/me/.rvm/rubies/ruby-2.7.1/lib/ruby/2.7.0/forwardable.rb:235:in `sh'
     2: from /Users/me/.rvm/gems/ruby-2.7.1/gems/fastlane-2.155.3/fastlane/lib/fastlane/helper/sh_helper.rb:80:in `sh_control_output'
     1: from /Users/me/.rvm/gems/ruby-2.7.1/gems/fastlane-2.155.3/fastlane_core/lib/fastlane_core/ui/ui.rb:17:in `method_missing'
/Users/me/.rvm/gems/ruby-2.7.1/gems/fastlane-2.155.3/fastlane_core/lib/fastlane_core/ui/interface.rb:153:in `shell_error!': \e[31m[!] Exit status of command 'npx --no-install cordova compile ios --release --device --packageType=app-store --developmentTeam=XXXXXXX --provisioningProfile=xxxxxxxxxxxxxxxxxxxx -- ' was 65 instead of 0. (FastlaneCore::Interface::FastlaneshellError)
Building project: /Users/me/Sites/project/src-cordova/platforms/ios/My App.xcworkspace
    Configuration: Release
    Platform: device
    Target:
Running command: xcodebuild -workspace My App.xcworkspace -scheme My App -configuration Release -destination generic/platform=iOS -archivePath My App.xcarchive archive CONfigURATION_BUILD_DIR=/Users/me/Sites/project/src-cordova/platforms/ios/build/device SHARED_PRECOMPS_DIR=/Users/me/Sites/project/src-cordova/platforms/ios/build/sharedpch
Command line invocation:
    /Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild -workspace "My App.xcworkspace" -scheme "My App" -configuration Release -destination generic/platform=iOS -archivePath "My App.xcarchive" archive CONfigURATION_BUILD_DIR=/Users/me/Sites/project/src-cordova/platforms/ios/build/device SHARED_PRECOMPS_DIR=/Users/me/Sites/project/src-cordova/platforms/ios/build/sharedpch

User defaults from command line:
    IDEArchivePathOverride = /Users/me/Sites/project/src-cordova/platforms/ios/My App.xcarchive

Build settings from command line:
    CONfigURATION_BUILD_DIR = /Users/me/Sites/project/src-cordova/platforms/ios/build/device
    SHARED_PRECOMPS_DIR = /Users/me/Sites/project/src-cordova/platforms/ios/build/sharedpch

note: Using new build system
note: Building targets in parallel
note: Planning build
note: Constructing build description
error: Provisioning profile "match AppStore uk.co.mycompany.my-app" has app ID "uk.co.mycompany.my-app",which does not match the bundle ID "uk.co.mycompany.my-app.WonderPushNotificationServiceExtension". (in target 'WonderPushNotificationServiceExtension' from project 'My App')

** ARCHIVE Failed **

xcodebuild: Command Failed with exit code 65

解决方法

嘿,

我不知道您是否同时解决了该问题,但是我记得我们在进行OneSignal Push集成时曾经遇到过类似的问题。

您需要确保您不仅为应用本身调用匹配,而且为该服务扩展调用匹配,例如:

ext_identifier = app_id + ".OneSignalNotificationServiceExtension"
match(
      app_identifier: [app_id,ext_identifier],type: "appstore",git_branch: gitBranch
)

我们最终没有使用该ServiceExtension,因此在我们的方案中将其再次删除-但我希望它会有所帮助。

安妮