I just renewed my developer subscription, and created a new app.
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
I have checked that my scheme is shared and I do in fact have the scheme in my xcode project. But whenever I try to run Xcode cloud, it fails with the message that "A scheme named 'MyAppScheme' does not exist in MyAppProject.xcodeproj"
Any tips on what I could be doing wrong?
I followed Apple's instructions.
When i come to the step where one should copy the auto-generated secret from the newly created GitLab Application - i can't proceed without an error.
The auto-generated secret from the GitLab application is 64 characters long + a prefix: "gloas-".
So it is actually 70 characters long.
The AppstoreConnect website form that wants this secret doesn't accept it, saying, it is too long and also in the wrong format. If i enter the secret without the prefix, the form accepts the value - but the authentication attempt that follows afterwards fails.
I tried the whole process with a fresh Xcode project. It still failed - so i'm pretty sure that the project is fine and the problem is most likely the GitLab Application secret.
I also read the Xcode Cloud requirements page and everything seems to be correct. The only thing that doesn't work - which should, according to the above linked manual - is AppstoreConnect not accepting the complete GitLab application secret.
So how can i get this to work?
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?
I have Xcode Cloud setup to run my unit tests a couple of times a day so I can be informed of any API issues.
Quite often, my tests will fail with "A server with the specified hostname could not be found." even though the server is fine. I re-run the tests locally in Xcode and they all pass.
I'm wondering if there's something Xcode Cloud might be doing to the request to make the connection fail?
Is it possible to maybe setup a proxy for the tests from Xcode Cloud?
I've been really happy with Xcode Cloud, but as a single developer with a very simple app, I cannot justify the upcoming paid service. I have two apps with minimal amount of work going on for the one that I used to test Xcode Cloud.
Two questions:
What do I need to do with my Xcode project to successfully disable Xcode cloud?
What is the correct approach to disable the upcoming billing for Xcode cloud?
Thanks for any pointers.
it seems that there were some suggestions of using DerivedData folder as a caching mechanism for at least the same branch building, but after trying it out it does not seem like this is a viable option. Is there any caching capabilities? If there is does the cache expire? Is there size limit perhaps?
After creating a new build and release with XCode Cloud, uploading a zip of the dSYMs to Firebase Crashlytics no longer gets processed. Despite uploading several times I'm still seeing errors like:
This app has 15 unprocessed crashes. Upload 1 dSYM file to process them.
Has something changed in the last 2-4 weeks in this process that I'm unaware of? TIA
Hi everybody!
I have a Test Action step where I generate a .json file with the results, and I need to retrieve this file.
The way I'm trying to do is:
Generate the file
in ci_post_xcodebuild.sh, check if file exist
If file exists, copy into $CI_ARCHIVE_PATH
But looks like this $CI_ARCHIVE_PATH is not the correct way to copy file inside Archive.
Do we have a way to retrieve a file easily?
I just added my first Xcode 15, Swift 5.9 macro from an open source package that I'm referencing via Swift Package Manager. The first time I compiled locally, I had to trust the macro's package via a dialog box, which is fine for a local build. However, now my app doesn't build on Xcode Cloud, with the error "Target must be enabled before it can be used."
How do I tell Xcode Cloud to trust the macro's target?
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
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
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.
I have two steps in my Xcode Cloud workflow. The first one builds the app, the second runs all the tests. The issue I am seeing is that the second step fails with a timeout. However, all the tests in the step are green. I think this might be a bug in Xcode Cloud and would like to get assistance.
The error message I get is:
The step invocation hit a user timeout. The xcodebuild test-without-building invocation timed out. No activity has been detected on stdout, stderr or the result bundle in 35 minutes.
MyApp (3333) encountered an error (Test operation was canceled. If you believe this error represents a bug, please attach the result bundle at /Volumes/workspace/resultbundle.xcresult)
In the logs, I was able to find the step that fails:
Run command: xcodebuild test-without-building -destination platform=iOS
Command exited with non-zero exit-code: 75
The error code is 75, which, after some googling, I was able to identify to be: temp failure; user is invited to retry. However, this does not bring me closer to fixing the issue.
I turned on the Execution Time Allowance feature to get a spin dump (metadata + stack traces). However, since it's not a single test that times out, we do not get a spin dump.
Xcode Cloud setup:
Xcode 14.3.1 (14E300c)
macOS Ventura 13.5.1 (22G90)
I'm looking for help, hints, ideas. What could be the reason for the timeout?
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 configured a workflow to run through tests when a PR is changed.
https://developer.apple.com/documentation/xcode/configuring-start-conditions
Is it possible to configure it so that the tests don't run while it's a draft PR and to only run it once it's moved to ready for review?
I Can't Login into my testflight because I don’t have the invitation code, Please I need an urgent solution to access my testfight
Not sure if this reaches Apple's relevant/concerned teams. If we can have date column of the app upload here, it would help immensely. Or, a popover of dates of upload, ready to submit etc.
Hi I'm using flutter and integrated the repository to xcode cloud to compile the app and in my machine compiles and uploads fine to testflight but using xcode cloud it throws an error
could not find included file 'Generated.xcconfig' in search paths
it does not make sense to me if I'm honest, but I'm running out of options
The other thing I like to confirm is if xcode cloud works at all with flutter, I'm getting the feeling that is the case