Unable to export an ipa file in azure devops - ios

I'm trying to build a CI pipeline for my xCode project. I've been struggling with this for the past 2 days.
These are the tasks used in my pipeline:
Install an Apple Certificate
Install an Apple provisioning profile
pod install
Xcode build & clean
Copy files to $(build.artifactstagingdirectory)
Publish Artifacts to drop folder
I've seen in the documentation that we need to check the Create App Package checkbox if we need to have and ipa package. But whenever I check the check
❌ error: No profile for team 'teamID' matching 'provision_name.mobileprovision' found: Xcode couldn't find any provisioning profiles matching 'teamId/provision_name.mobileprovision'. Install the profile (by dragging and dropping it onto Xcode's dock item) or select a different one in the Signing & Capabilities tab of the target editor. (in target 'project_name' from project 'project_name')
Here's a two snippets about signing and exporting options in xCode build task:
So anyone have an idea why this issue is happening?

As Paulw11 mentioned in his comments above, the issue was in setting the name of the provisioning profile in Signing & Provisioning section.
As he said, the Install an Apple provisioning profile will set the UUID variable needed in the task mentioned above. It will be populated while the pipeline is running.
So here's the working pipeline for me now:
Tasks:
Signing & provisioning properties:
Package options:

Related

Github Actions - Where do I upload the Certificates and provisioning profiles

I am implementing github actions in my project for Build, test and Deploy.
While Building the app, it gives me an error,
"Code Signing Error: No profile for team 'XXXX' matching 'XXXX' found"
Xcode couldn't find any provisioning profiles matching 'XXXX/XXXX'. Install the profile (by dragging and dropping it onto Xcode's dock item) or select a different one in the Signing & Capabilities tab of the target editor.
Tried to build the project with distribution certificates.
I have tried to upload the certificates and provisioning profiles on a different repository in my account, but it doesn't work.
Where do we upload the certificates?
Hi As per your question it's seem that you are trying to implement CI/CD in your project. You can integrate fastlane that will take care of uploading certificates on a git repo. It will upload all your certificates and provisioning profile on git repo and help's to fetch on your device's keychain.

debug version of react-native IOS app builds successfully. Release version fails.

I've been able to successfully build the Debug version of this IOS app. However, I'd like to create an IPA to make sure it works on various iphones. The first thing I did was go product->scheme->edit scheme. I then switched from Debug to Release. After cleaning, and attempting to build the release version of the app. I immediately get an error: "MYapp has conflicting provisioning settings. MYapp is automatically signed, but provisioning profile MYApp Distribution 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 MYapp).
The first thing I tried was switching Code Signing Style to manual in build settings. This resulted in a new error:
error: Provisioning profile "MYApp Distribution" doesn't include signing certificate "iPhone Developer: Name here (XXXXXXXX)". (in target 'MYApp')
I went back to the General tab in Targets and clicked on "automatically manage signing". I tried to rebuild and got the same error the first time I tried to build.
I'm not sure where the conflict is coming from. This post indicated that simply clicking the automatic signing would do the trick.
I'm quite new to using Xcode and understanding provisioning profiles.
You simply can not build a release edition. The process of giving a release version is quite different. It goes from Xcode(local) to App Store(testFlight for testing) and then into App Store(Official Release).
I found this link and can relate to this situation.
Your provisioning profile isn't valid. It doesn't have a valid distribution certificate. You have to go to apple developer and it to certificates and profiles. Create it there and install it via keychain on your macbook. Othervise you can't build an ipa. More info here

Jenkins, Xcode 8.2.1 can not find the provisioning profile though it exists

I am running an iOS build on Jenkins locally. Using Xcode 8.2.1. Using manual signing (i.e. provisioning profile, Team and Signing Certificate correctly selected in Target-> General section.). When I build the app through Xcode, the app builds and archives fine using my ad-hoc distribution certificates. However, when I try building using Jenkins, I get the following error (I am using my own build script to build the app and not using the Jenkins Xcode build plugin)-
Check dependencies
[BCEROR]No profile matching 'xxx' found: Xcode couldn't find a profile matching 'xxx'. Install the profile (by dragging and dropping it onto Xcode's dock item) or select a different one in the General tab of the target editor.
Btw, I already tried the following but those did not help-
copying the provisioning profile in question to the /Users/Shared/Jenkins/Library/MobileDevice/Provisioning Profiles location.

Jenkins with Xcode 8 - Cannot find Provisioning Profiles

Jenkins cannot find our recently updated provisioning profiles and after trying every known solution I'm running out of ideas what could be wrong.
Build jobs fail with error:
No profile matching 'xxxxx' found: Xcode couldn't find a profile
matching 'xxxxx'.
The build server is a Mac, running Xcode 8 and we're using Jenkins with the Xcode plugin.
Building and signing with Xcode 8 directly on the same machine is successful and I installed all the required profiles by double-clicking them.
Does anyone know any workable solution to fix this issue?
Put your provisioning profiles under
User/Shared/Jenkins/Library/Mobile Device/Provisioning Profiles.
You have to create manually folder under Library folder.
And make sure that your Distribution certificate is in "System" tab in keychain Access. If not then copy from "Login" tab and paste under "System" tab.
The fix for myself was giving the jenkins user proper permissions for the ~/Library/MobileDevice folder and the ~/Library/MobileDevice/Provisioning\ Profile.
Otherwise the jenkins user can't read from the provisioning file folder.

Xcode: Can I set Code Signing Profile from the command line

I have a batch build script that I run to build a common codebase for iOS apps into 100+ unique IPAs. I use Xcode 4.2 on OS X Lion.
The build settings for each app are set using PlistBuddy and the build works by running
PlistBuddy, installing app icons, running xcodebuild, then xcrun. It has been tested and
works correctly when targeting a single app.
Each app has a unique distribution provisioning profile that currently must be manually assigned via Xcode's Project settings -> Code Signing section (for release builds).
My problem is that the build script will not be able to match the App to its profile during the xcodebuild phase. It will simply try to use the most recent app's profile, then generate the error:
[BEROR]Code Sign error: Provisioning profile 'MOST RECENT APP'S PROVISIONING PROFILE ID HERE' can't be found.
Desperately looking for a way to either set this via command line (security, plistbuddy, or xcodebuild?). My batch script is quite useless without it.
I found the answer - it was simple. The problem was that in my Xcode target Code Signing settings, I had set a specific distribution profile for the build (out of 90 or so).
What fixed it was simply selecting the profile under "Automatic Profile selection".
Once that was done, xcodebuild was able to run successfully.

Resources