I’m making an attempt to construct an iOS app in Azure DevOps as App Middle will likely be stopped on the 31th March 2025.
I’ve a single react native software for each Android and iOS. The appliance is constructed in response to totally different environments (develop, take a look at, manufacturing) but additionally totally different software id (as an illustration com.my-app-1.app and com.my-app-2.app).
To construct the Android app, I had no downside in Azure DevOps and the signal steps will use the offered keystore and the push to Firebase or Play Retailer will push the app to the proper place in response to the appliance id.
Drawback for the iOS construct, I’m utilizing totally different certificates (iOS Improvement for develop and iOS Distribution for take a look at and manufacturing) but additionally the certificates are totally different per groups (I’ve a team-A for the appliance com.my-app-1.app and a team-b for the appliance com.my-app-2.app) so two totally different Apple Developer as nicely.
The my-app.xcodeproj outline the default crew and the default software id that are team-A and com.my-app-1.app respectively.
I discovered right here that usually I might replace my XCode@5
step like this:
- job: Xcode@5
inputs:
actions: "archive"
scheme: "my-app-1"
sdk: "iphoneos"
configuration: "Launch"
xcWorkspacePath: "iOS/ios/my-app-1.xcworkspace"
signingOption: "handbook"
signingIdentity: "$(APPLE_CERTIFICATE_SIGNING_IDENTITY)"
provisioningProfileUuid: "$(DevelopmentProfile.provisioningProfileUuid)"
args: >
DEVELOPMENT_TEAM=team-A
PRODUCT_BUNDLE_IDENTIFIER=com.my-app-1.app
To construct the my-app-1 of team-A
And like this
- job: Xcode@5
inputs:
actions: "archive"
scheme: "my-app-2"
sdk: "iphoneos"
configuration: "Launch"
xcWorkspacePath: "iOS/ios/my-app-1.xcworkspace"
signingOption: "handbook"
signingIdentity: "$(APPLE_CERTIFICATE_SIGNING_IDENTITY)"
provisioningProfileUuid: "$(DevelopmentProfile.provisioningProfileUuid)"
args: >
DEVELOPMENT_TEAM=team-B
PRODUCT_BUNDLE_IDENTIFIER=com.my-app-2.app
But when I do this I obtained this error for each construct:
error: XXX doesn't assist provisioning profiles. XXX doesn't assist provisioning profiles, however provisioning profile prov profile identify has been manually specified. Set the provisioning profile worth to "Automated" within the construct settings editor. (in goal 'XXX')
Making the signing as Automated would not assist as I have to specify the certificates and provisioning profile file.
If I do not override the worth of DEVELOPMENT_TEAM
and PRODUCT_BUNDLE_IDENTIFIER
then it builds fantastic for the default software however not for the team-B software as I obtained this error:
/Customers/runner/work/1/s/ios/BITS.xcodeproj: error: Provisioning profile "XXX" has app ID "com.my-app-2.com", which doesn't match the bundle ID "com.my-app-1.com". (in goal 'my-app-1' from challenge 'MY-APP-1')
/Customers/runner/work/1/s/ios/BITS.xcodeproj: error: Provisioning profile "XXX" belongs to crew "team-B", which doesn't match the chosen crew "team-B". (in goal 'my-app-1' from challenge 'MY-APP-1')
Anybody an concept the right way to repair it?
In App Middle I did not had that subject because it constructed and alter the primary app goal correctly. Now in DevOps I run into this error.
I’d slightly to not construct a separate XCode challenge for every software Id.
Migrate the iOS construct from App Middle to Azure DevOps for multi groups and multi software id.