Hi,
Our team uses Xcode Cloud to run unit tests, and since around November, we’ve been frequently experiencing timeouts with the following type of process:
@Test func hogeTest() async {
// do something
hoge.do()
// wait until done
await wait(condition: { hoge.isDone })
// test result
#expect(hoge.isSucceeded)
}
private func wait(condition: () async -> Bool, timeout: TimeInterval = 0.5, pollingInterval: TimeInterval = 0.01) async throws {
let deadline = Date().addingTimeInterval(timeout)
while Date() < deadline {
if await condition() { return }
try await Task.sleep(nanoseconds: UInt64(round(pollingInterval * TimeInterval(NSEC_PER_SEC))))
}
Issue.record("timeout")
}
Although sleep is supposed to wait for only a few milliseconds, there are cases where it takes more than 10 seconds, leading to a timeout.
What could be causing this instability in the sleep duration? Additionally, if there are other recommended ways to implement polling and waiting in Swift Testing, I would appreciate it if you could share them.
A feedback report (FB15899163) has already been submitted.
Best regards,
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
Lost access to all the build artifacts in Xcode Cloud.
When I try downloading any build artifact from the web page I'm getting:
{"message":"You are not authorized to access this team’s resources."}
Same attempt from Xcode just crashes the app.
Started to happen today or some time yesterday, after 12am EST.
Xcode cloud download archive file . the browser show "You are not authorized to access this team’s resources." All of my team can not download that.
I tried downloading the files from the previous build archive, but couldn't download either
I just discovered that I can no longer download any artifacts from Xcode Cloud, whether from newly built workflows or previous ones. When I try to download in Xcode, it crashes immediately. When downloading from App Store Connect, it redirects to an HTML page with the following content.
{"message":"You are not authorized to access this team’s resources."}
I've already tried re-logging into my Apple account. Is anyone else experiencing the same issue?
In the code below, the check for the toggle value passed in my xcode. However, it failed in cloud, i.e., that value was still "0" after being tapped.
func testToggle() throws {
let app = XCUIApplication()
app.launch()
let fieldName = "MyToggle"
let field = app.switches[fieldName]
XCTAssertTrue(field.exists, "Field '\(fieldName)' should exist|debug = \(app.debugDescription)")
let firstMatch = field.switches.firstMatch
firstMatch.tap()
#if FAILED_XCODE_CLOUD
// Verify the toggle/switch is in the desired state
XCTAssertEqual(firstMatch.value as? String, "1", "Field '\(fieldName)' should be ON|debug = \(app.debugDescription)") // "1" is On, "0" is Off
#endif
}
In addition, I'd also like to ask why a traverse to firstMatch is needed?
I am creating a macOS app with the following requirements:
Automatic Startup: After initial installation, the app should automatically start, even after the OS restarts.
Notarized Installation: The installation package (.pkg) should be notarized to avoid user have to make security exception.
In my current setup I’ve created a script, ci_scripts/ci_post_xcodebuild.sh, which uploads the package file $CI_APP_STORE_SIGNED_APP_PATH/<appName>.pkg to GitHub via Xcode Cloud. While I can successfully download the app, I’m encountering two main issues:
Notarization (I assume): I’m unsure how to get Xcode Cloud to notarize the .pkg file. Currently, upon opening the .pkg file for the first time, users have to go to System Settings > Privacy & Security to allow an exception for the package, after which installation proceeds successfully on second try. I’d like to automate the notarization process to eliminate this extra step.
Adding Additional Files to PKG installer: My current .pkg file only includes the app binary. I need to configure Xcode Cloud to include a postinstall script and a launchd daemon configuration file within the package. This would ensure that necessary files are set up on installation and that the app is properly registered as a launch daemon.
What certificate does Xcode cloud use when distribute apps to App Store?
Since cloud managed certs can't be downloaded, how to get its public key for the f..king recordation in China?
Anyone with the same problem?
Any Xcode Cloud workflow with 'Pull Request Changes' as one of its start conditions has suddenly stopped working altogether. The workflow is never started. This issue seems to have begun within the last 48 hours.
Removing the 'Pull Request Changes' start condition makes the workflows functional again.
The test I just ran to confirm this:
Created a new Xcode Cloud workflow
Selected Start Conditions: 'Pull Request Changes' from/into any branch, when any files are changed
Selected Test as the 'Actions'
Created a pull request on my github repository
The workflow was never started
Added 'Branch Changes' to the Start Conditions, specifying branch-a under 'Custom Branches'
Pushed to branch-a
The workflow was never started
Removed 'Pull Request Changes' from the Start Conditions
Pushed to branch-a
The workflow finally started
Curious if others are having this issue? And if so, is there a timeline for when this will be resolved? I have confirmed that our Github actions are configured properly, and believe this is indeed an issue with Xcode Cloud.
Hello,
Im trying to add my project to Xcode Cloud. Not first time. Now I'm getting this error: "To create a Xcode Cloud workflow, first add a remote source code repository from BitBucket, GitHub, or GitLab."
Of course this project has origin (GitHub) and I'm using it with Xcode actively.
Xcode 16.0, iOS app target 17.6. Sonoma - latest.
What am I doing wrong? :)
Hello, when I attempt to sign into XCode Cloud, I am prompted to enter my icloud user name and password. I enter my credentials and I press sign-in. It registers and the window closes, then nothing happens. No error messages or anything. Any help would be appreciated!
Hej hej
tl;dr. I have problems building a Playground App using Xcode Cloud and I created a reference repository to reproduce this. Did anyone try this before and succeeded? Maybe you have a hint about what's going wrong here.
Initial Failure
I followed the documentation for Building Swift packages and Swift Playgrounds app projects with Xcode Cloud and I have always run into the following error message:
❌ Code Signing
Exporting for App Store Distribution failed. Please download the logs artifact for more information
Check Logs
“Fair game!” I thought, checked out the logs and see this error appearing twice in each of the following steps:
Export archive for ad-hoc distribution
Export archive for development distribution
Export archive for app-store distribution
5.3 Sec.
Run command: 'xcodebuild -exportArchive -archivePath /Volumes/workspace/tmp/3546d064-74fa-42d0-8b36-3623e18941be.xcarchive -exportPath /Volumes/workspace/adhocexport -exportOptionsPlist /Volumes/workspace/ci/ad-hoc-exportoptions.plist '-DVTPortalRequest.Endpoint=http://172.16.35.199:8089' -DVTProvisioningIsManaged=YES -IDEDistributionLogDirectory=/Volumes/workspace/tmp/ad-hoc-export-archive-logs -DVTSkipCertificateValidityCheck=YES -DVTServicesLogLevel=3'
Error
Command exited with non-zero exit-code: 70
Moving forward, I downloaded the logs artifact as suggested earlier. This is IDEDistribution.standard.log:
2024-10-27 11:15:04 +0000 [MT] Starting export with options: {"embedOnDemandResourcesAssetPacksInBundle":true,"teamID":"38R2LLP8AF","stripSwiftSymbols":true,"thinning":"<none>","iCloudContainerEnvironment":"Development","destination":"export","reformatterBundleIdentifier":"hamburg.plus.encore","uploadSymbols":true,"raiseProfileSupportOptionalToRequired":false,"buildNumber":"4","testFlightInternalTestingOnly":false,"manageAppVersionAndBuildNumber":false,"method":"ad-hoc","generateAppStoreInformation":false}
This is IDEDistribution.critical.log (actually it's three times this single error, but I'll spare you the repetition):
2024-10-27 11:15:04 +0000 [MT] -[IDEDistributionMethodManager orderedDistributionMethodsForTask:archive:logAspect:]: Error = Error Domain=IDEDistributionMethodManagerErrorDomain Code=2 "Unknown Distribution Error" UserInfo={NSLocalizedDescription=Unknown Distribution Error}
And this is an excerpt (of hopefully relevant details) of IDEDistribution.verbose.log (again, this happens three times, only giving the relevant data points here):
…
2024-10-27 11:15:04 +0000 [MT] Rejected distribution method <IDEDistributionMethodiOSAdHoc: 0x600001590100> because it doesn't support distributing archive
…
2024-10-27 11:15:04 +0000 [MT] Rejected distribution method <IDEDistributionMethodiOSAppStoreValidation: 0x6000015900f0> because it doesn't support distributing archive
…
2024-10-27 11:15:04 +0000 [MT] Rejected distribution method <IDEDistributionMethodiOSAppStoreDistribution: 0x600001590120> because it doesn't support distributing archive
…
2024-10-27 11:15:04 +0000 [MT] Rejected distribution method <IDEDistributionMethodiOSAdHoc: 0x600001590100> because it doesn't support distributing archive
…
2024-10-27 11:15:04 +0000 [MT] Available distribution methods: {(
<IDEDistributionMethodSaveBuiltProducts: 0x6000015f8060>,
<IDEDistributionMethodExportArchive: 0x6000015f8070>
)}
Investigate Xcode Archive (*.xcarchive)
At this point, I downloaded the Xcode archive from AppStoreConnect and realized that it only contained debug symbols for the app, but not the app itself.
> ls -la /Users/herzi/Downloads/….xcarchive/Products
total 0
drwxrwxr-x@ 2 herzi staff 64 27 Okt 12:21 .
drwxrwxr-x@ 5 herzi staff 160 27 Okt 12:22 ..
Notice the absence of the Applications folder that would contain the Application.app bundle.
Current Status
So I created a clean, sample repository for my integration. Did anyone try this before and succeeded? Maybe you have a hint about what's going wrong here.
I'm trying to make a ci_post_clone.sh script to build an Ionic iOS app trough xCloud
I've been looking trough internet, trough official apple documentation but haven't been able to solve the issue
the script is working on macOS local machine but it fails again and again on xCloud enviornment
I'm attaching the full script ci_post_clone.sh (swapped to .txt extension for being able to upload it)
along the
ci_post_clone.log
ci_post_clone.log
ci_post_clone.txt
Issue Description
The current Xcode Cloud webhook functionality requires developers to expose a public URL to receive webhook events, which poses a challenge in environments with security restrictions or limited network accessibility. Many developers need to receive webhook events locally without exposing their servers to the public internet.
Proposed Solution
A feature similar to Slack’s "Socket Mode" would allow developers to receive webhook events over a WebSocket connection without exposing a public URL. This socket-based solution could offer a more secure, streamlined, and accessible way for developers to work with webhooks, especially in closed network environments.
I added a new target for macOS to my existing iPhone app. The new target ran successfully in Xcode. However, when I committed the changes, Xcode Cloud generated the error.
I don't know what the error means. Would someone please give me a pointer? Thank you.
Xcode Cloud always exports archive using ad-hoc, development and app-store profiles. This uses up 5-6 more minutes always for my app. How to disable and allow export only in single distribution profile
When running a SwiftUI Multiplatform app in Xcode Cloud I'm getting the following error:
CIWatcher encountered an error in CIWatcherTests failed with:
Failed to install or launch the test runner. (Underlying Error: Could not launch “CIWatcherTests”. Runningboard has returned error 5. Please check the system logs for the underlying cause of the error. (Underlying Error: The operation couldn’t be completed. Launch failed. (Underlying Error: Launchd job spawn failed)))
This runs fine on iOS and all those tests pass.
The SwiftUI app on Mac is a menu bar app so I'm not sure if this could be the issue as it's not launching for some reason on the Xcode Cloud system? Maybe I need to add some run option to make this work?
When run locally both iOS and macOS pass all the tests successfully
Hello Developers,
I regularly use Xcode Cloud to run unit tests, but since the release of Xcode 16, the testing process has become significantly slower.
I am seeking advice on how to improve the situation.
[ Details ]
With Xcode 15.4, unit tests took about 1 hour to complete.
However, since upgrading to Xcode 16, the tests have not finished even after 2 hours.
The blog post linked below also mentions significant overhead in running unit tests on Xcode Cloud, even with Xcode 15.4:
https://dwango.github.io/articles/2024-07_nicoiphone_xcode_cloud/#%E3%83%86%E3%82%B9%E3%83%88%E5%AE%9F%E8%A1%8C%E6%99%82%E9%96%93%E3%81%8C%E5%A2%97%E5%8A%A0%E3%81%97%E3%81%A6%E3%81%97%E3%81%BE%E3%81%86%E5%95%8F%E9%A1%8C
According to the blog, while reviewing the xcodebuild-test-without-building.log, it was observed that the time from start to finish was about 4 minutes.
However, the overall “Run xcodebuild test-without-building” process took 23 minutes, with around 20 minutes of apparent idle time.
It seems that the idle time has increased even further with Xcode 16, resulting in more than twice the testing time.
[ Question/Request ]
Is there any way to reduce the overhead when running unit tests on Xcode Cloud, especially with the increased overhead in Xcode 16?
Any advice or solutions for improving the performance would be greatly appreciated.
Best regards,
Hi, i'am using self hosted gitlab repository. Since yesterday on my xcode cloud page display "Unable to connect to repository ....Reconnect the repository to resume builds".
When i click the reconnect button, it shows that xcode cloud successfully reconnected. But even after reloading the page, it still showing the same message.
My team's Xcode Cloud build started timing out when we recently upgraded to Xcode 16.0.0. Specifically, the test build phase times out due to exceeding the 2 hour limit.
The Test - iOS action could not complete due to an error. The error may not occur on rebuild.
Build has exceeded the maximum allotted time. Each build can run for up to 120 minutes. If a build has not yet finished at this time, all incomplete actions will be cancelled.
When running Xcode 15.4.0, the test build phase completed in roughly 45 minutes.
It's also important to know that our test build completes in about 15 minutes when executing on one of our in-house Mac mini build machines (Apple Silicon). So the issue seems to be with Xcode Cloud + Xcode 16.0.0 and not our project.
We have been burning through Xcode Cloud hours hoping that at some point Xcode Cloud will be fixed.
The status page right now is all "green":
https://developer.apple.com/system-status/
Is there a known issue with Xcode Cloud + running tests? We have combed through our project's Xcode Cloud logs and artifacts, but nothing jumps out as something on our end.
Also, there is a large file named "Test Products for ", but we can't download it due to crashes/ errors:
The Xcode IDE UI shows this file as 1.99GB
Xcode crashes when attempting to download the file.
The App Store Connect UI shows this file as ~1GB (possibly just omitting precision).
An error response page is returned when attempting to download.
Thanks in advance for any advice/ feedback.