Hi folks!
I'm looking to see if anyone has had any luck adding their own private Cocoapods as Additional Repositories with granted access in Xcode Cloud?
My understanding was that Xcode Cloud would be able to pick up on these additional requirements, and to an extent it has been able to capture the top level private Cocoapod repository specified has a source in my Podfile.
However when it comes to the private Cococapods specified as dependencies, no dice. I have ensured that the private Cocoapods are in the same repo ecosystem as detailed by the documentation.
Any insight anyone might have on the subject would be greatly appreciated!
Xcode Cloud
RSS for tagAutomate workflows to test, analyze, build, and distribute your app, and integrate them with other developer tools, such as TestFlight and App Store Connect.
Post
Replies
Boosts
Views
Activity
Is there any option to access to archived IPA using env variables?
Looking at docs we can access just to xcarchive, using:
CI_AD_HOC_SIGNED_APP_PATH
CI_APP_STORE_SIGNED_APP_PATH
CI_ARCHIVE_PATH
CI_DEVELOPMENT_SIGNED_APP_PATH
I'm trying to build my project with Xcode Cloud but run into this problem:
Cannot update Package.resolved because automatic resolution is disabled
The log shows this line prior to that:
Set default com.apple.dt.Xcode IDEDisableAutomaticPackageResolution to true
Any idea how to fix this?
When trying to build other branch than develop it says that my branch may only exist locally. All branches are published in the remote, so i don't know why is this happening...
here is a screenshot of what i'm getting
same goes for the scheme which is marked as shared and pushed to the repo...
Today, playing with Xcode cloud I came across a really nasty, undesirable effect of executing steps in an undocumented order.
I had a project with a brand new workflow, I had it linked to my SCM (gitlab self-hosted) and it worked.
Today, it didn't work so I thought, OK, this thing is beta and something must not be working that well, let's reset everything and start over.
I deleted the workflow, then cleared the Xcode cloud data (this removes everything from your Xcode cloud tabs on your product and, unfortunately, from your profile as well).
Then proceed to navigate to your profile to unlink the SCM connection and it appears to be empty.
Because of this, I removed my application in gitlab (which is the token provider for oath) to start again, thinking I did something wrong and I want to follow the steps brand new again.
I went to Xcode, tried to create a new workflow and link my source control provider and... I get a "continue to authorise your repository" button, which is now broken because that application doesn't exist.
The question is, does anybody know of a way to unlink my SCM from my account? The Xcode cloud tab under my profile tells me I need to create a workflow to access anything from there, but I am completely unable to complete that creation as the workflow requires it to be connected to a self hosted instance.
This was extremely easy to get wrong.
Frequently when Xcode builds our app we end up (after two hours) getting a build failure: The archive action was stopped because it has exceeded the maximum time allowed to run. Actions are limited to 120 minutes.
Other times, it completely successfully in about 35 minutes. It seems to randomly happen. Is this a known issue?
I've been building our app to make a release in App Store with Xcode Cloud
Currently the builds are failing with the following error:
The value of CFBundleShortVersionString in your WatchKit app's Info.plist (3.9.0) does not match the value in your companion app's Info.plist (4.7.0). These values are required to match.
This is strange, as in our ci_pre_xcodebuild script we have an invocation of the code
echo "Version: ${versionNumber}"
echo "Setting version string in plists"
echo "iOS Version:"
/usr/libexec/PlistBuddy -c "Set :CFBundleShortVersionString $versionNumber" $CI_WORKSPACE/MainApp/Resources/Plists/Info.plist
/usr/libexec/PlistBuddy -c "Print :CFBundleShortVersionString $versionNumber" $CI_WORKSPACE/MainApp/Resources/Plists/Info.plist
echo "Watch Version:"
/usr/libexec/PlistBuddy -c "Set :CFBundleShortVersionString $versionNumber" $CI_WORKSPACE/WatchApp/Info.plist
/usr/libexec/PlistBuddy -c "Print :CFBundleShortVersionString $versionNumber" $CI_WORKSPACE/WatchApp/Info.plist
echo "Watch Extension Version:"
/usr/libexec/PlistBuddy -c "Set :CFBundleShortVersionString $versionNumber" $CI_WORKSPACE/WatchAppExtension/Resources/Info.plist
/usr/libexec/PlistBuddy -c "Print :CFBundleShortVersionString $versionNumber" $CI_WORKSPACE/WatchAppExtension/Resources/Info.plist
On which the command executes correctly and shows the right output.
Then I don't understand what's going on.
This workflow was working a couple weeks ago and we haven't done a change to it since then.
Any ideas of what could it be?
HI there,
I just started using Xcode cloud.
When building Xcode cloud, two archives are being generated: iOS and macOS.
The macOS archive always errors out with:
xcodebuild: error: Unable to find a destination matching the provided destination specifier: {generic:1, platform:macOS}
I have no intention of my app running on macOS, but if I knew how to fix that, it might be kinda neat.
But really, it's unnecessary, so how do I turn it off?
Thanks,
Kim
All of my builds get stuck on Archive action - it keeps running forever (10+ hours where it took 30 minutes before for a clean build), and never finishes despite having all subtasks finished (green check).
This started to happen on a workflow that has worked reliably for months, right after WWDC22 start - is there a problem with a new version of Xcode Cloud?
It seems I used the wrong Bitbucket account when setting up my project with Xcode Cloud.
Now when I proceed with the "Grant Access" step, all I get is this error:
Bitbucket Cloud installation was incomplete
Repository was not found. Either the repository does not exist or you do not have permission to access it.
Is there any way to reset this and start over?
I've done the first step for connecting the Xcode cloud with GitLab, I've followed the instructions available on this link https://developer.apple.com/documentation/xcode/connecting-xcode-cloud-to-a-self-managed-gitlab-instance
But I accidentally deleted the app created on GitLab ( step 8 on link above), then I can't restart the process in Xcode Cloud.
Let me show the problem better...
Every time that I clink on button "Grant Access" in Xcode tool, I'm redirect to this site:
When I click on blue button, it happens on GitLab settings:
Because I deleted the settings. Then, I need to go back to step 1 of 2 and set up again.
How can I restart the process ?
By default, Xcode Cloud workflow provides no test notes for TestFlight uploads. I'd like to have string with git commit message and git commit hash instead of "No test notes" message.
Is it possible?
In the "Resolve package dependencies" step I see this error occur:
Scheme <scheme-name> is not currently configured for the build action.
I cannot reproduce locally. When I run the command: xcodebuild -resolvePackageDependencies it finishes fine.
I'm on Xcode 13.4.1 and MacOS 12.4.1
Other things I've tried:
Verified scheme is in the workspace (not the project)
Deleted all schemes and auto created schemes again
Recreating the build action in the scheme
Enabled all actions in the scheme
Hello. I'm using XCode Cloud to replace an existing fastlane workflow where the end result is to post an IPA to in internal Slack channel. I've written a ci_post_xcbuildscipt.sh and it runs:
xcodebuild -exportArchive -archivePath ${CI_ARCHIVE_PATH} -exportPath ${EXPORT_PATH} -exportOptionsPlist ${EXPORT_OPTIONS} -authenticationKeyIssuerID ${AUTH_KEY_ISSUER_ID} -authenticationKeyID ${AUTH_KEY_ID} -authenticationKeyPath ${AUTH_KEY_PATH} -allowProvisioningUpdates
My problem is resigning the IPA with the environment variables set as secrets. The autenticationKeyPath expects to be a file, but I'm only able to pass strings as environment variables.
I tried passing the key as a string and in my script writing it to a file, but the result is always an empty file. I've tested locally and this idea works, so I think it's a consequence of how the environment variables are protected when marked as a secret.
Any suggestions on how I could successfully export my archive but keep the key a secret?
On our projects we have separate targets for staging and production (and also separate accounts). I was able to connect xcode cloud to staging account and builds were working ok, but when I made workflow for production (with same app on gitlab) I could not get access. I never got an option to make new app in gitlab so I went and delete all xcode cloud data and gitlab app. Now when It wants to connect to gitlab I get no option to authorize app or create a new one. I also cannot delete SCM
Recently, I have trouble with my Xcode Cloud builds, where they seemingly complete, but the very final step does not happen.
I am building from the same codebase for both macOS and iOS (I have two “Archive” steps in my workflow, one for iOS and one for macOS). The iOS one usually completes fast without problems. The macOS log ending looks like this, and remains stuck forever, with the macOS build in the “spinning progress” state and never completing.
Is there something I can do on my end to make this work better? I would not want to go back to manual builds, Xcode Cloud is convenient and was working well for a while, but this is really annoying lately.
When Building with XCode Cloud I receive errors reading Cocoapods xcfilelist files.
The errors are as follows:
Unable to load contents of file list: '/Target Support Files/Pods-<Project Name>/Pods-Anytune-frameworks-Release-output-files.xcfilelist'
Unable to load contents of file list: '/Target Support Files/Pods-Anytune/Pods-<Project Name>-resources-Release-output-files.xcfilelist'
When building through Xcode (Product > Build) everything works, however this is not the case with Xcode Cloud.
I have verified that the xcfilelist paths exist on my machine, however with Xcode Cloud they are unable to load.
I have also tried cleaning, updating and rebuilding my Cocoapods to no avail.
This issue exists on stackoverflow. Link is found here. The solutions here did not work for me.
Any help would be appreciated.
Hi
I'm piloting using Xcode Cloud for my builds. Recently, I inadvertently burned up all my compute hours for the month.
I know I could move to a higher-level plan, but I really want to understand how I can avoid doing this in the future.
I know I can view my usage in App Store Connect but I'm looking for ways to be alerted if my remaining compute hours go below a threshold that gives me time to react.
Questions:
I don't think I got any emails from Apple warning me that my compute hours were near to being used up - should I have received something? I don't see an options for this in the Settings or Usage pages.
I have been using the App Store Connect API and have been going through the API docs trying to find an endpoint that returns the compute hours balance for my account but haven't found one - does one exist?
Thanks,
Dave
Hi, In our current CI/CD environment, I can easily upload an IPA to Firebase so that we can distribute test versions of the app.
Now we are trying to move the CI/CD to Apple Xcode Cloud and I am trying to figure out how to upload my app to the Firebase Distribution system.
Please advise ;-)
Kind regards,
Wouter
I am getting an error on Xcode Build
The bundle version must be higher than the previously uploaded version.
I am at a loss. My bundle version is set at 20. The latest version uploaded has bundle version 18. The project is clearly higher than the most recently uploaded version.
What am I doing wrong?
I tried setting the Bundle version in both the General tab for the target, in the Build Settings and in the Info.plist. Which takes precedence?
Fastlane reports the current build version as 18 on TestFlight.
Confusingly, throughout Xcode, Bundle Version is variously referred to as both 'Bundle Version' and 'Current Project Version', and is 'Build' on App Store Connect.
App Store Version is variously referred to as 'Version', 'Bundle version string (Short)', and 'Marketing Version'.