Xcode archive fails with errors: "There are no accounts registered with Xcode" and "Code signing is required for product type 'Application'"

I try to build Flutter iOS app and my workflow is as follows:

  • Flutter release build with --no-codesign option :heavy_check_mark:
  • Fastlane step:
    • register_devices :heavy_check_mark:
    • fastlane match for ad-hoc :heavy_check_mark:
    • build_app āœ˜
    • appcenter_upload

Fastlaneā€™s build_app fails with following error even though match step indicates that all provisioning profiles are installed.

fastlane match finishes with success:

[21:21:31]: All required keys, certificates and provisioning profiles are installed :raised_hands:

build_app executes and breaks with error:

[21:21:45]: ā–ø Code Signing Error: There are no accounts registered with Xcode. Add your developer account to Xcode
[21:21:45]: ā–ø Code Signing Error: No profiles for ā€˜pl.app.app.testā€™ were found: Xcode couldnā€™t find any iOS App Development provisioning profiles matching ā€˜pl.app.app.testā€™.
[21:21:45]: ā–ø Code Signing Error: Code signing is required for product type ā€˜Applicationā€™ in SDK ā€˜iOS 12.2ā€™

Also, when building locally with exactly the same commands on my machine (i.e. flutter build and fastlane copied from Bitrise log) everything works fine.

Iā€™ve already connected my Apple Developer account to the Bitrise account but it didnā€™t help.

I tried to run Certificate and profile installer but with no success.

I also tried to archive the iOS app with Xcode Archive & Export for iOS step (xcode-archive@2.5.0), but it also fails with the error:

Code Signing Error: Code signing is required for product type ā€˜Applicationā€™ in SDK ā€˜iOS 12.2ā€™

Example failing build is this one Bitrise - Mobile Continuous Integration and Delivery - iOS & Android Build Automation

I tried a lot of things and frankly I donā€™t know what else I can try. Maybe different Apple Developer account? I can provide any further details if url to build is not sufficient.

Hi @dominik.roszkowski!

Sorry to hear about the issue! Have you tried including a development type profile as well? You seem to be missing that in this build and that could likely cause this error

Iā€™ll try that! Is development profile enough if I want to use ad-hoc?

No you need both, youā€™re gonna need a development type profile for every export method, thatā€™s the issue I think :slightly_smiling_face:

Ok, I exported my p12 file (according to this guide) and mobile provisioning files from Apple developer portal, and then imported them into Bitrise workflow.

Unfortunately, this didnā€™t solve the issue. Example build with error: Bitrise - Mobile Continuous Integration and Delivery - iOS & Android Build Automation

One of the errors is as follows, but I connected my Apple account with Bitrise:

Ensure cookies for Apple Developer Portal
Failed to activate the Bitrise Apple Developer Portal connection: %!s(MISSING)
Read more: https://devcenter.bitrise.io/getting-started/signing-up/connecting-apple-dev-account/
errors
Falied to fetch portal data from Bitrise, error: Response status: 404 - Body: {ā€œerror_msgā€:ā€œNo Apple developer account found for this build.ā€}

Have you also selected your developer portal account on the Team tab of the app? :thinking:

I selected my account in Team tab now but the error persists.

I donā€™t understand why fastlane match is able to download and install all the required profiles, but later when archiving with Xcode it doesnā€™t work. Maybe multiple schemes defined in my Xcode project are problematic?

Iā€™ll try to switch to manual provisioning in Xcode and push changes to repository.

Oh I see, this message about your Developer Portal was printed out by the fastlane step as a bug, sorry about that!

But otherwise your fastlane match command seemed to have failed, also if Iā€™m correct uploading your p12 on Bitrise wouldnā€™t have an effect on this build since youā€™re still using the match to import them from another repo

After setting all the provisioning profiles manually in Xcode the build succeeded.

So what I had to do was:

  • disable automatic provisioning in my Xcode target
  • set fastlane generated profile for desired configuration

This way I donā€™t use provided by Bitrise mechanisms of provisioning and can abstract it to the fastlane step.

My current workflow in fastlane is like follows:

platform :ios do
  desc "Submit a new build to AppCenter"
  lane :test do
    register_devices(
        devices_file: "../../devices.txt",
        team_id: "XXXX",
        username: "XXXX@XXXX.pl"
    )
    match(
      type: "adhoc",
      force_for_new_devices: true,
    )
    automatic_code_signing(
      use_automatic_signing: false # on my dev-machine I use automatic provisioning
    )
    update_project_provisioning(
      profile: ENV["sigh_pl.XXXX.XXXX.test_adhoc_profile-path"], # fastlane match stores path to the mobileprovisining file in this variable
      build_configuration: "Release-tst", # I had to specify exact configuration name
      code_signing_identity: "iPhone Distribution" 
    )
    build_app(
      scheme: "tst",
      configuration: "Release-tst",
      xcargs: "-allowProvisioningUpdates",
      export_options: {
        signingStyle: "manual",
        method: "ad-hoc",
        provisioningProfiles: {
          "pl.XXXX.XXXX.test": "match AdHoc pl.XXXX.XXXX.test"
        }
      },
      output_name: "Runner.ipa"
    )
    appcenter_upload(
      app_name: "XXXX-XXXX-1",
      owner_name: "XXXX",
      group: "All-users-of-XXXX-XXXX",
      ipa: "Runner.ipa"
    )
  end

And bitrise.yml for this step is:

  test:
    before_run:
    - prepare
    steps:
    - flutter-build@0.9.2:
        inputs:
        - android_additional_params: "--release -t lib/$TARGET_FILE.dart --flavor
            $FLAVOR --build-name=$FL_VERSION_NUMBER --build-number=$FL_BUILD_NUMBER"
        - project_location: "$BITRISE_FLUTTER_PROJECT_LOCATION"
        - ios_additional_params: "--release --no-codesign -t lib/$TARGET_FILE.dart
            --flavor $FLAVOR --build-name=$FL_VERSION_NUMBER --build-number=$FL_BUILD_NUMBER"
        is_always_run: true
    - set-env-var@0.9.1:
        inputs:
        - destination_keys: APPCENTER_DISTRIBUTE_APK
        - value: "$BITRISE_APK_PATH"
        title: APPCENTER_DISTRIBUTE_APK
    - fastlane@2.4.0:
        title: fastlane iOS
        inputs:
        - work_dir: "$BITRISE_FLUTTER_PROJECT_LOCATION/ios"
        - lane: ios test
    - fastlane@2.4.0:
        inputs:
        - work_dir: "$BITRISE_FLUTTER_PROJECT_LOCATION/android"
        - lane: android test
        title: fastlane Android
    after_run:
    - finish
    envs:
    - opts:
        is_expand: false
      FLAVOR: tst
    - opts:
        is_expand: false
      TARGET_FILE: main_tst

Thank you @bitce for all your help and guidance! I appreciate it a lot.

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.