I have two remote Swift Packages (call them A & B). B depends on A, and package B is declared as a dependency in the app project.
I have set up Xcode Cloud for this project so that it builds an archive when there is a change to the main branch. This works fine.
I also want to set up Xcode Cloud workflows to run tests when there are changes to either the repos of A or B. Both Bitbucket repositories of A and B are listed as primary repositories for the project (in the Xcode Cloud tab) and both have been granted access.
So far I've only gotten this working for package B, where the condition is a pull request against the main branch. So this works fine too. However, for package A, Xcode Cloud is not picking up any pull requests, so it's not triggering the action for the workflow.
The problem I see is that when I look at the repository settings on Bitbucket, there is no "https://appstoreconnect.apple.com/ci/webhook/bitbucket" webhook in A's repository. There is one for the repository for B and the project. Why not for A?
Has anyone run into this issue, or know how to fix it? The webhook URL contains an ID that must be provided by Apple when configuring the repos or the Xcode Cloud workflows, so I don't think there's anything I can do manually.
Any help would be 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
I'm currently using another provider for CI/CD. They've been offering Apple Silicon builds for over a year now. When we switched over, we saw our build times cut in half. I've seen similar results locally, back when I bought an M1 Mac.
So, recently, I tried to use Xcode Cloud on my project. My build time is nearly 45 minutes, where my build time on my current system is about 15 minutes, max.
Since I work on a team, and we make regular commits, having a 45 minute turnaround is not ideal. When I looked at the logs of my Xcode Cloud project, I saw a lot "x86_64" stuff in there, which led me to believe that Xcode Cloud is still building on Intel machines.
Additionally, I run tests on my builds. The build time alone (before running tests) was almost 20 minutes. The 15-minute time I cited with my current CI/CD included build time & tests running. So, a whole cycle finishes on my current setup before tests are even run.
I noticed that there was a bunch of x86_64 in the logs, which made me think that Xcode Cloud is still using Intel. Is this true? I've just gotten really used to faster build times, and I can't move onto a system like this, where the times are so drastically different. Like, I wouldn't mind build time that would add only a few more minutes to what I have now. But going from 15 -> 45 minutes is a real problem.
After trying to build with macOS 15 and XCode 16 (beta and beta2), XcodeCloud started to crash at the Resolve package dependencies step.
Everything works perfect on my local system running same OS same XC.
Details: [<IDESwiftPackageCore.IDESwiftPackageDependencyPlaceholderFileReference, 0x7fb23a2082a0: name:swift path:(No Path)>]
Function: unregisterDependencyFileReferences(_:)
Thread: <_NSMainThread: 0x600002094200>{number = 1, name = main}
Hints:
Backtrace:
0 -[DVTAssertionHandler handleFailureInFunction:fileName:lineNumber:assertionSignature:messageFormat:arguments:] (in DVTFoundation)
1 _DVTAssertionHandler (in DVTFoundation)
2 _DVTAssertFromSwift (in DVTFoundation)
3 _DVTAssert(_:file:line:function:varargs:) (in DVTFoundation)
4 DVTAssert(_:_:file:line:function:) (in DVTFoundation)
5 closure #1 in closure #1 in IDESPMWorkspaceDelegate.unregisterDependencyFileReferences(_:) (in IDESwiftPackageCore)
6 closure #1 in IDESPMWorkspaceDelegate.unregisterDependencyFileReferences(_:) (in IDESwiftPackageCore)
7 closure #1 in OS_dispatch_queue.dvt_sync<A>(execute:) (in DVTFoundation)
8 thunk for @callee_guaranteed () -> () (in DVTFoundation)
9 thunk for @escaping @callee_guaranteed () -> () (in DVTFoundation)
10 -[DVTModelObjectGraph performBlockCoalescingModelChanges:] (in DVTFoundation)
11 DVTModelObjectGraph.performBlockCoalescingModelChanges<A>(_:) (in DVTFoundation)
12 IDESPMWorkspaceDelegate.unregisterDependencyFileReferences(_:) (in IDESwiftPackageCore)
13 closure #1 in closure #1 in IDESPMWorkspaceDelegate.registerDependencyFileReferences(_:) (in IDESwiftPackageCore)
14 closure #1 in IDESPMWorkspaceDelegate.registerDependencyFileReferences(_:) (in IDESwiftPackageCore)
15 closure #1 in OS_dispatch_queue.dvt_sync<A>(execute:) (in DVTFoundation)
16 thunk for @callee_guaranteed () -> () (in DVTFoundation)
17 thunk for @escaping @callee_guaranteed () -> () (in DVTFoundation)
18 -[DVTModelObjectGraph performBlockCoalescingModelChanges:] (in DVTFoundation)
19 DVTModelObjectGraph.performBlockCoalescingModelChanges<A>(_:) (in DVTFoundation)
20 IDESPMWorkspaceDelegate.registerDependencyFileReferences(_:) (in IDESwiftPackageCore)
21 closure #1 in IDESPMWorkspaceDelegate.dependencyPackagesDidUpdate(packages:graphHasErrors:) (in IDESwiftPackageCore)
22 closure #1 in OS_dispatch_queue.dvt_sync<A>(execute:) (in DVTFoundation)
23 thunk for @callee_guaranteed () -> () (in DVTFoundation)
24 thunk for @escaping @callee_guaranteed () -> () (in DVTFoundation)
25 __58-[DVTModelObjectGraph performBlockCoalescingModelChanges:]_block_invoke (in DVTFoundation)
26 -[DVTModelGraphTransactionScope performTransaction:] (in DVTFoundation)
27 -[DVTModelObjectGraph performBlockCoalescingModelChanges:] (in DVTFoundation)
28 DVTModelObjectGraph.performBlockCoalescingModelChanges<A>(_:) (in DVTFoundation)
29 IDESPMWorkspaceDelegate.dependencyPackagesDidUpdate(packages:graphHasErrors:) (in IDESwiftPackageCore)
30 SPMWorkspace.packageGraphActionFinished(_:) (in SwiftPM)
31 closure #3 in SPMWorkspace.processPackageGraphActionsInBackgroundIfNeeded() (in SwiftPM)
32 swift::runJobInEstablishedExecutorContext(swift::Job*) (in libswift_Concurrency.dylib)
33 swift_job_runImpl(swift::Job*, swift::SerialExecutorRef) (in libswift_Concurrency.dylib)
34 _dispatch_main_queue_drain (in libdispatch.dylib)
35 _dispatch_main_queue_callback_4CF (in libdispatch.dylib)
36 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ (in CoreFoundation)
37 __CFRunLoopRun (in CoreFoundation)
38 CFRunLoopRunSpecific (in CoreFoundation)
39 +[DVTKVOConditionValidator waitForCondition:sourceObject:keyPathAffectingConditionBlock:timeout:] (in DVTFoundation)
40 -[Xcode3CommandLineBuildTool waitForRemoteSourcePackagesToFinishLoading] (in Xcode3Core)
41 -[Xcode3CommandLineBuildTool _resolveInputOptionsWithTimingSection:] (in Xcode3Core)
42 -[Xcode3CommandLineBuildTool run] (in Xcode3Core)
43 XcodeBuildMain (in libxcodebuildLoader.dylib)
44 -[XcodebuildPreIDEHandler loadXcode3ProjectSupportAndRunXcode3CommandLineBuildToolWithArguments:] (in xcodebuild)
45 -[XcodebuildPreIDEHandler runWithArguments:] (in xcodebuild)
46 main (in xcodebuild)
47 start (in dyld)
bash: line 1: 4274 Abort trap: 6 xcodebuild -resolvePackageDependencies -project /Volumes/workspace/repository/***.xcodeproj -scheme '***' -derivedDataPath /Volumes/workspace/DerivedData -hideShellScriptEnvironment
Error
Command exited with non-zero exit-code: 134
Hi Folks,
We've been using Xcode Cloud for a year without any issues. Recently, our IT team switched authentication from LDAP to Azure SAML SSO. Since then, we've been getting the following error whenever Xcode Cloud launches a build:
"Run command: '/bin/rm -rf /Volumes/workspace/repository &> /dev/null && GIT_TRACE2_PERF=/tmp/git_trace2_perf GIT_TRACE2_EVENT=/tmp/git_trace2_event git init /Volumes/workspace/repository && GIT_TRACE2_PERF=.....etc."
"could not read Username for 'http://bitbucket.***': Device not configured
Command exited with non-zero exit-code: 128"
Any idea what we need to change to get things working again?
Thank you
Cam
I have an app that I would like to test on Mac Sequoia. But when I build in Xcode Cloud, it seems to fail with a This bundle is invalid. Apple is not currently accepting applications built with this version of the OS. It also complains about the release train being closed, but I created a new release (set to manually be released). And it is pulling an old CFBundleShortVersionString somehow, but the other app versions (iOS and VisIonOS) in the same Xcode Cloud build work fine.
I'm currently syncing Core Data with the CloudKit public database using NSPersistentCloudKitContainer. The app starts with an empty Core Data store locally and at the app launch it downloads the data from CloudKit public database to the Core Data store, but this can only be accomplished if the user is logged in, if the user is not logged, no data gets downloaded and I get the error below.
Can the NSPersistentCloudKitContainer mirror the data from the CloudKit public database to the local Core Data even if the user is not logged in? Can someone please confirm this is possible?
The reason for my question is because I was under the impression that the users didn't need to be logged to read data from the public database in CloudKit but I'm not sure this applies to NSPersistentCloudKitContainer when mirroring data. I know I can fetch data directly with CloudKit APIs without the user beign logged but I need to understand if NSPersistentCloudKitContainer should in theory work without the user being logged.
I hope someone from Apple sees this question since I have spent too much time researching without any luck.
Error
Error fetching user record ID: <CKError 0x600000cb1b00: "Not Authenticated" (9); "No iCloud account is configured">
CoreData: error: CoreData+CloudKit: -[NSCloudKitMirroringDelegate _performSetupRequest:]_block_invoke(1192): <NSCloudKitMirroringDelegate: 0x600003b00460>: Failed to set up CloudKit integration for store: <NSSQLCore: 0x10700f0d0> (URL: file:///Users/UserName/...
I'm having issues compiling the visionOS app via XcodeCloud.
Here's the error:
2024-06-20T09:24:47.634651911Z compileSkybox /Volumes/workspace/DerivedData/Build/Intermediates.noindex/ArchiveIntermediates/Fi22/InstallationBuildProductsLocation/Applications/VR22.app/ImageBasedLighting.rclink /Volumes/workspace/repository/Fi22/ImageBasedLighting.skybox (in target 'Fi22' from project 'Fi22')
2024-06-20T09:24:47.634669847Z cd /Volumes/workspace/repository
2024-06-20T09:24:47.634681756Z /Applications/Xcode.app/Contents/Developer/usr/bin/rctool create skybox -skyboxPath=/Volumes/workspace/repository/Fi22/ImageBasedLighting.skybox -o=/Volumes/workspace/DerivedData/Build/Intermediates.noindex/ArchiveIntermediates/Fi22/InstallationBuildProductsLocation/Applications/VR22.app
2024-06-20T09:24:47.634730433Z [91mError: [39m There is no available Metal device on this system.
2024-06-20T09:24:47.634745602Z Command compileSkybox failed with a nonzero exit code
How do I configure XcodeCloud to use an instance with Metal support? Another option would be precompiling the skybox but I couldn't find any info on that either.
Log shows:
Run command: 'xcodebuild -exportArchive -archivePath /Volumes/workspace/tmp/d3c9c43f-e24e-4ad9-882d-d0179ab3149b.xcarchive -exportPath /Volumes/workspace/developmentexport -exportOptionsPlist /Volumes/workspace/ci/development-exportoptions.plist '-DVTPortalRequest.Endpoint=http://172.16.182.66:8089' -DVTProvisioningIsManaged=YES -IDEDistributionLogDirectory=/Volumes/workspace/tmp/development-export-archive-logs -DVTSkipCertificateValidityCheck=YES -DVTServicesLogLevel=3' Command exited with non-zero exit-code: 70
UI Tests are not running on Xcode Cloud CI pipeline, due to add-to-app flutter modules being present
The application is not able to run on CI as the Flutter engine is crashing.
Can see the same behaviour on external device when ran in debug mode and the debugger(XCODE) is disconnected and launching the application. It runs fine locally when connected to Xcode.
does anyone have some inputs on how to resolve this?
I finally signed up for Xcode cloud, but it doesn't work after successful GitHub app installation.
401 in the console for:
https://appstoreconnect.apple.com/olympus/v1/providerSwitchRequests
I tried multiple things, even wrote to apple.
Is it only for payed GitHub users? I have a free private repo.
Hope someone has an idea.
This is the error message when I give Xcode Cloud access to all repositories:
Die Verbindung von Xcode Cloud mit deinem Quellcodeverwaltungsanbieter konnte nicht erstellt werden.
Translation:
The connection from Xcode Cloud to your source code management provider could not be established.
Hello! I'm having difficulties getting Xcode Cloud to see new changes to my files in my project that are being pushed. Previously, this was due to some network situation on my GitLab self-hosted server. This has likely been changed but I'm having difficulties because I tried to use an integration in GitLab for App Store Connect which isn't the same as Xcode Cloud and so as a result it didn't work. I tried starting over and setting up the system from scratch but the web hook hasn't appeared as it had done the first time I set it up.
Does anyone know how to set up the web hook manually for Xcode Cloud so that Xcode Cloud is notified when a new push and other relevant events occur in my repository? The web hook that was previously there would error when I tried testing it on the GitLab end, but since I had deleted it, the web hook is not longer present and I was unable to recreate it as part of the setup procedure because it was pretty opaque to me the first time around and I followed the procedure in the documentation to get it to work. Xcode Cloud works fine when I manually start a build.
This issue started to appear in the last couple of weeks. And it's annoying because Xcode Cloud actually is based on build duration. Here is a sample:
The whole build took like 10 minutes.
We can easily consume the 25 hours free tier because of these. The crash logs are completely useless. And the failing tests change from one run to the other and on different simulators. I really hope Xcode Cloud team look into this as it's frustrating and kills the whole point of Xcode Cloud (BTW, these issues won't happen on Bitrise).
My UI Tests are not running on Xcode Cloud CI pipeline, they run fine on locally.
they seem to be timing out due to the application not running in the pipeline and I have tried everything I could to fix it yet nothing.
The error I see is : Failed to application com.xyz.app is not running
Every time I try to build archive iOS app I get error like this: Type 'ImageResource' has no member <<resource_name>>.
I am using generated ImageResource through out my app. I can archive and upload build using Xcode. But it is not working using Xcode Cloud.
Xcode Cloud reports the following error
A scheme called PlatoSafe does not exist in Plato.xcodeproj
However, my project only has one scheme named Plato. I search the proj using git grep PlatoSafe and don't see such a name anywhere. I do xcodebuild -list, and the output shows Plato as the only scheme.
Where does Xcode Cloud get the scheme name PlatoSafe from?
Hi, recently something happened in Xcode Cloud, and the build times increased massively. In our CI workflow we run test, and one of the phases executes xcodebuild build-for-testing: the duration of this phase moved from about 8 minutes to about 36 minutes, without any major changes on our side.
We observed this:
in different apps;
even when running a build on a old tag.
All other phases don't seem affected, it's just the xcodebuild build-for-testing phase.
I'm attaching 2 screenshots of the logs from AppStoreConnect that show the duration of each phase, where build 7600 is older and 7700 is more recent (but was run on a tag from a few weeks ago, to exclude issues related with the code base itself).
We had not other option than to disable the CI checks for PRs, because they would take too long, and use up too much of Xcode Cloud time.
What's happening?
Thanks
I started to use Xcode Cloud recently trying to understand how the whole build process etc. works. I created some workflows, integrated ci scripts to let fastlane create snapshots in the end, and everything seem to work while I was making progress step by step to get it up and running (struggling with the environment, etc.).
Then last night it suddenly stopped working in the form, that
Xcode shows the builds, but the last build still shows a spinner, although the job has finished already
When I try to cancel the last run from Xcode (thought it was not finished) I get an error: Failed to Cancel Build 57. An internal error occurred while authenticating. Try again later. (FB13802231)
When I open Manage Workflows…, Xcode suddenly shows "This operation could not be completed" and details reveal: The operation couldn’t be completed. ((extension in XcodeCloudKit):XcodeCloudAPI.Client.HTTPClientError error 0.) (FB13802952)
Trying to access the Xcode Cloud tab of the app or general from users and permissions shows a white page with a spinner.
The console filtered by Xcode shows (around the time the error happens): Failed to query public key: 0xe800000c
The Safari browser console shows: An internal error occurred while authenticating. Try again later.
What works:
I can login to AppStore Connect without problem.
I am logged-in in Xcode (but there's no option to logout and re-login)
I can use tools like fastlane with API calls (or some xcc command line tool) and list the products, workflows and runs using my API key. From this information I also figured out, that the build in question (57) where Xcode still shows the spinner, has finished (failing) already.
I was also able to start a new build manually (58) via API, which however has finished 3 seconds after creation, but has never started (startedDate is empty while createdDate and finshedDate contains data).
I was able to delete the workflow via API in hope that the problem goes away, but theres no change in Xcode (still shows the same picture with the workflow and last build 57 spinning).
I should have used <4 / 25 hours of free plan of Xcode Cloud this month, so limit not exceeded.
I'm on macOS 14.4.1, Xcode 15.3.
Seems I can't make use of Xcode Cloud at all anymore right now which keeps me from proceeding now on my way to first time deliver to AppStore (still understanding and learning). I also provided info about the 2 Xcode errors as feedback, which I linked above.
Any help on how to reset / do whatever is necessary to make it work again is very much appreciated.
Hi everyone,
I'm encountering an intermittent issue with my Xcode Cloud CI/CD pipeline when pulling Swift Package Manager (SPM) dependencies from AWS CodeArtifact. The build process occasionally fails with an SSL error, but other times it succeeds without any issues. This inconsistency is causing significant disruption to our continuous integration process.
Environment:
Xcode Cloud
Swift Package Manager (SPM) for dependency management
AWS CodeArtifact as the package registry
Error Message:
Error: registry login using https://xx-xx-xx.codeartifact.eu-central-1.amazonaws.com/swift/***/login failed: The certificate for this server is invalid. You might be connecting to a server that is pretending to be "xx-xx-xx.codeartifact.eu-central-1.amazonaws.com" which could put your confidential information at risk.. Would you like to connect to the server anyway?
I'm trying to increase the compute hours on our Xcode Cloud, but it says this needs to be performed via the Apple Developer App. The issue is that my iOS devices are authenticated with my personal Apple ID and not my work/developer Apple ID.
Is there any way to upgrade my subscription on Desktop? Any other suggestions how I can upgrade our subscription?
We have a release build workflow for our primary app, and we set up email and webhook notifications for it. This is to hopefully not miss when this workflow completes.
Unfortunately, we seem to be getting these build notifications days after completion. This has happened several times.
In this case, the build completed Friday afternoon for us, we submitted the new version, and it was released hours later. But we didn't get the workflow notification until Sunday.
We get them in Slack and Email.
I'm considering turning these notifications off since their late arrival is rendering them almost useless.