iOS error signing requires a development team

Description of the issue

Getting error during step xcode-archive: error: Signing for “dashboardwrapper” requires a development team. Select a development team in the project editor. (in target ‘dashboardwrapper’)

I can see that someone had same issue here:How to "Select a development team in the project editor" in ionic-archive steps? - #6 by alastairmcfarlane and resolved it.

But in my code signing tab the provisioning team looks correct already.

Environment:

Bitrise, react native stack

Xcode Archive & Export for iOS

Build log

Hello there, could you add a certificate and profile installer step before the archive? :upside_down_face:

Arhh, thought there was something missing here! Is it deliberate that stuff from the .yml that are # commented out disappears ? I wasn’t able to find my comment today, so tried to recreated the workflow from my memories. Forgot one thing it seems :slight_smile:

Added certificate and profile installer to the workflow, which succeeded, but the xcode archive step is still failling on same error

new build log: https://app.bitrise.io/build/3231b436359dbad1

I see you want to export an app-store ipa, but you only have developer certificate and profile uploaded,
could you try a developer ipa first? also add your teamID in the xcode archive step to be sure, and also upload your deployment certificate and app-store profile :upside_down_face:

Added the teamID and switched to development export method. Same error still. What is this “deployment certificate and app-store profile” that you are mentioning? Could I ask you to point me to a guide that goes over the creation of these certificates? :slight_smile:

log: https://app.bitrise.io/build/1af2be174db62529

this is our full guide on code signing ios apps.
also I think this is a local issue, I mean you should set this in xcode locally :thinking:

Aha, now that’s a problem. Since I’m not using a mac and do not have access to Xcode. (why i saw bitrise as my way to build an .ipa) :scream:

trying to avoid purchasing a mac

oh god I understand now, how is the code signing handled in your project? it must be in some json file I guess? :thinking:

Well. I am not sure. I used the react native cli to generate the project, which includes and ios dir, where the xcode project is. I don’t see any configuration files that have to do with code signing.

I generated all the certificates with the openssl bash tool (on windows) and uploade to bitrise, thinking that the code signing would be handled here, just as with the android code signing of the uploaded jks keystore.

But I might be mistaken?

is there an exportOptions.plist named file somewhere there? :thinking:

Unfortunately not. Maybe this is only generated by Xcode, and the react native cli does not do this when running rect-native init. I noticed a info.plist file which contains something similar, but does not sound build/export related to me.

I will try and do some research whether there is a way to generate this configuration without using Xcode.

I initially followed this guide: How To Develop iOS Without a Mac which mentions bitrise as one way of building a iOS app without the use of a mac. But I also realize that apple are very quick to update their procedures to avoid people being able to do these kind of workarounds.

error: Signing for “dashboardwrapper” requires a development team. Select a development team in the project editor. (in target ‘dashboardwrapper’)

Was in the end solved by added the teamID to Xcode Archive & Export for iOS -> Force Build Setting -> Force code signing with Development Team

However I am still getting errors in this workflow module. Seems like build configuration should have been created but is not. So for now I am manually trying to fill in the missing pieces

wow that the ID solution was easier than I thought :thinking:
what is the issue now?

First following issue, I was seeing: error: No profiles for 'com.dashboardwrapper' were found: Xcode couldn't find any iOS App Development provisioning profiles matching 'com.dashboardwrapper'. Automatic signing is disabled and unable to generate a profile. To enable automatic signing, pass -allowProvisioningUpdates to xcodebuild. (in target 'dashboardwrapper')
build log: Bitrise - Mobile Continuous Integration and Delivery - iOS & Android Build Automation

Not sure if it is trying to match provisioning profile based on Bundle ID but my uploaded provisioning profiles bundle id is com.dashboardwrapper

Then I decided to try and add the provisioning profile uuid to the field Force code signing with Provisioning Profile which then seemed to find the provisioning profile. But I have a gut feeling that this should not be needed. It should be found automatically as it states, automatic signing is turned on, and the provisioning profile looks correct to me. Anyway…

This revealed another issue: error: dashboardwrapper has conflicting provisioning settings. dashboardwrapper is automatically signed, but provisioning profile engineering has been manually specified. Set the provisioning profile value to "Automatic" in the build settings editor, or switch to manual signing in the project editor. (in target 'dashboardwrapper')

build log: Bitrise - Mobile Continuous Integration and Delivery - iOS & Android Build Automation

I’ve googled a bit around, and it seems that most people fix this issue in ther “project editor” I assume this is a Xcode thing. I did find a project config file in my ios project dir called project.pbxproj this containes a lot of configuration fx. /* Begin PBXResourcesBuildPhase section */ & /* Begin PBXProject section */ Not sure if theese are the conflicting settings, or the conflict happens between my forced build settings (in excode-archive workflow module) and the outpput from the certificate-and-profile-installer.

I do have a feeling that I should not need to add neither teamID, provisioning profile UUID or anything else in the forced build settings. I would assume that the output of the Certificate and profile installer step would generate all the needed output for the xcode archive generator step. So, i’m still not at a working build configuration yet.

Hy there, Could you remove the force build settings from the xcode archive stem and just have this: 6VB6KXXQPW as the team ID input?

Do you mean from this:

- xcode-archive@2.4.21:
        inputs:
        - export_method: development
        - team_id: D97F7P6xxx
        - force_team_id: D97F7P6xxx
        - force_provisioning_profile: 20064253-fd5a-xxxx-xxxx-xxxxxxxxxx
        - force_provisioning_profile_specifier: engineering
        - force_code_sign_identity: ''
        - project_path: "$BITRISE_PROJECT_PATH"

To this:

- xcode-archive@2.4.21:
        inputs:
        - export_method: development
        - team_id: D97F7P6xxx
        - project_path: "$BITRISE_PROJECT_PATH"

By removing the forced build settings, I am back to initial error: error: Signing for "dashboardwrapper" requires a development team. Select a development team in the project editor. (in target 'dashboardwrapper')

log: https://app.bitrise.io/build/2e187ebda1af3174

And with the other Team ID still same :thinking:

log: Bitrise - Mobile Continuous Integration and Delivery - iOS & Android Build Automation

Which team ID is the correct one? I followed this answer, to locate my team ID

But I see there is one under the provisioning profile as well, (the 6VB6KXXQPW one) neither seems to work

Update: not sure that: 6VB6KXXQPW is a team ID after all. Looks more like a certificate id.

You are right, the D9… should be the team ID to be used :thinking: