Apologies that this is probably a simple problem.
I've started from a sample code provided by Apple and changed it quite significantly. However, I'm not able to Archive the app.
The original visionOS sample code has the same issue, so hopefully someone will be able to spot the problem:
https://developer.apple.com/documentation/visionos/creating-stereoscopic-image-in-visionos
The problems shown in the log are:
Undefined symbol: _main
Linker command failed with exit code 1 (use -v to see invocation)
The first error seems to say that there's no "main" but there is indeed a @main in the EntryPoint.swift file.
Any ideas? I have archived other apps (built from scratch) successfully, but clearly there's something different about this sample code.
Many thanks!
Xcode
RSS for tagBuild, test, and submit your app using Xcode, Apple's integrated development environment.
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
Hello everyone!
When I run UI Tests on Xcode Cloud, I often encounter unexpected failures. Checking the screen recording, I found that the iOS Simulator could go into a black screen with a white Apple logo and a progress bar for a period after the test starts. This behavior of the Simulator causes my app's UI Tests to fail randomly, which greatly affects the practical use of UI Tests.
I suspect this phenomenon is unrelated to my app and test cases, so I'm asking if anyone else has encountered a similar issue. 🤔
import SwiftUI
struct viewdetail: View {
@State var text1:String = ""
@State var tip1:String = ""
@State var text23:String = ""
@State var tip23:String = ""
var body: some View {
Text(text1);Text(tip1);Text(text23);Text(tip23)
}
}
func detailLine(costa:inout [Double],tipa:inout [Double]) {
print(costa,tipa)
text1 = "125" cannot find 'text1' in scope
print("detail")
}
func delete(costa:inout [Double],tipa:inout [Double],number: inout Int) {
print(costa,tipa)
tipa.removeLast()
costa.removeLast()
number -= 1
print(costa,tipa)
}
#Preview {
viewdetail()
}
Does anyone know why I'm getting "cannot find text1 in scope"?
Topic:
Developer Tools & Services
SubTopic:
Xcode
Issue :
When creating a new project in Xcode 26.0 and adding a Share Extension target without modifying any code, the app crashes upon displaying the extension screen with the following error:
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'The layout constraints still need update after sending -updateConstraints to <_UINavigationBarTitleControl: 0x105b9cc00; frame = (0 0; 0 0); layer = <CALayer: 0x10b834270>>. _UINavigationBarTitleControl or one of its superclasses may have overridden -updateConstraints without calling super. Or, something may have dirtied layout constraints in the middle of updating them. Both are programming errors.'
Environment :
Xcode 26.0
iOS 26.0 (physical device)
Note: This issue does not occur when running on iOS 18.3.1 (physical device).
Temporary Workaround :
Adding the following implementation to the isContentValid method prevents the exception from occurring:
Objective-C- (BOOL)isContentValid { // Do validation of contentText and/or NSExtensionContext attachments here if (@available(iOS 26, *)) { self.navigationController.navigationBarHidden = YES; } return YES; }
Questions :
Is there any alternative way to avoid this exception?
Since this crash occurs with the default implementation generated by Xcode, is there any plan to fix it in future updates?
Topic:
Developer Tools & Services
SubTopic:
Xcode
90714: Invalid binary. The app contains one or more corrupted binaries. Please rebuild the app and resubmit.
我开发的OC项目,三个月前打包分发还没有问题,半个月前开始就一直报这个错。查了很多资料都无法解决,所有的SDK也都升级了,还是报这个错,麻烦Apple的工程师帮忙指正一下问题,如何解决这个问题。
Topic:
Developer Tools & Services
SubTopic:
Xcode
Tags:
iOS
App Store Connect
TestFlight
Developer Program
I tried to monitor the device's network status with Network framework code below.
let networkMonitor = NWPathMonitor(requiredInterfaceType: .cellular)
networkMonitor.pathUpdateHandler = { [weak self] path in
if path.status == .satisfied {
print("Cellular Satisfied")
} else {
print("Cellular Unsatisfied")
}
}
When I run the app in my iPhone(iOS 15.5) and turn cellular on/off, iPhone suddenly loses connection with XCode.
Lost connection to the debugger on “...'s iPhone”.
Domain: IDEDebugSessionErrorDomain
Code: 12
Recovery Suggestion: Restore the connection to “...'s iPhone” and run “...” again, or if “...” is still running, you can attach to it by selecting Debug > Attach to Process > ....
User Info: {
DVTErrorCreationDateKey = "2022-06-23 02:16:30 +0000";
IDERunOperationFailingWorker = DBGLLDBLauncher;
}
Analytics Event: com.apple.dt.IDERunOperationWorkerFinished : {
"device_model" = "iPhone13,2";
"device_osBuild" = "15.5 (19F77)";
"device_platform" = "com.apple.platform.iphoneos";
"launchSession_schemeCommand" = Run;
"launchSession_state" = 2;
"launchSession_targetArch" = arm64;
"operation_duration_ms" = 5861;
"operation_errorCode" = 12;
"operation_errorDomain" = IDEDebugSessionErrorDomain;
"operation_errorWorker" = DBGLLDBLauncher;
"operation_name" = IDEiPhoneRunOperationWorkerGroup;
"param_consoleMode" = 0;
"param_debugger_attachToExtensions" = 0;
"param_debugger_attachToXPC" = 1;
"param_debugger_type" = 5;
"param_destination_isProxy" = 0;
"param_destination_platform" = "com.apple.platform.iphoneos";
"param_diag_MainThreadChecker_stopOnIssue" = 0;
"param_diag_MallocStackLogging_enableDuringAttach" = 0;
"param_diag_MallocStackLogging_enableForXPC" = 1;
"param_diag_allowLocationSimulation" = 1;
"param_diag_gpu_frameCapture_enable" = 0;
"param_diag_gpu_shaderValidation_enable" = 0;
"param_diag_gpu_validation_enable" = 0;
"param_diag_memoryGraphOnResourceException" = 0;
"param_diag_queueDebugging_enable" = 1;
"param_diag_runtimeProfile_generate" = 0;
"param_diag_sanitizer_asan_enable" = 0;
"param_diag_sanitizer_tsan_enable" = 0;
"param_diag_sanitizer_tsan_stopOnIssue" = 0;
"param_diag_sanitizer_ubsan_stopOnIssue" = 0;
"param_diag_showNonLocalizedStrings" = 0;
"param_diag_viewDebugging_enabled" = 1;
"param_diag_viewDebugging_insertDylibOnLaunch" = 1;
"param_install_style" = 0;
"param_launcher_UID" = 2;
"param_launcher_allowDeviceSensorReplayData" = 0;
"param_launcher_kind" = 0;
"param_launcher_style" = 0;
"param_launcher_substyle" = 0;
"param_runnable_appExtensionHostRunMode" = 0;
"param_runnable_productType" = "com.apple.product-type.application";
"param_runnable_swiftVersion" = "5.6";
"param_runnable_type" = 2;
"param_testing_launchedForTesting" = 0;
"param_testing_suppressSimulatorApp" = 0;
"param_testing_usingCLI" = 0;
"sdk_canonicalName" = "iphoneos15.4";
"sdk_osVersion" = "15.4";
"sdk_variant" = iphoneos;
}
In my opinion, it seems like an error of XCode. Plz let me know if there's any solution.
Also, there's a similar issue here : https://developer.apple.com/forums/thread/681459
Xcode 16.3 repeatedly logs a same message very frequently, as fast as a single thread can. I use Instruments and Console and find out the log is:
Needs flush!
by -[DNTBrotliDecoder decodeBytes:length:] in DNTDocumentationSupport.
The call is on a single non-main thread. I've tried to clear caches and it seems doesn't change. Yet I don't know exact point when the logging starts since launch.
Fortunately, this thread is dispatched at E cores, bringing approximately 2 watts of power load to my Mac.
Environments:
macOS 15.4 (24E248)
Xcode 16.3 (16E140)
M4 chip
Hi everyone. I have the following code that I am trying to execute in Xcode. I then install it on my iPhone. It doesn't run at all and I don't know why. Any thoughts?
Thank you.
import CoreMotion
class MyViewController: UIViewController {
let motionManager = CMMotionManager()
func startAccelerometer() {
if motionManager.isAccelerometerAvailable {
motionManager.accelerometerUpdateInterval = 0.1 // 10 updates per second
motionManager.startAccelerometerUpdates(to: .main) { (data, error) in
guard let accelerometerData = data else { return }
let x = accelerometerData.acceleration.x
let y = accelerometerData.acceleration.y
let z = accelerometerData.acceleration.z
// Process the x, y, and z acceleration values here
print("X: \(x), Y: \(y), Z: \(z)")
}
}
}
}
Topic:
Developer Tools & Services
SubTopic:
Xcode
Since upgrading my iPhone 13 Pro Max to iOS 26, apps have become nearly impossible to debug. The recent update to iOS 26.1 has made this even worse.
Going from app start to a fully rendered & responding screen takes <1 second on a Debug build when no debugger is attached, but with the debugger attached I get these times (measured manually with a stopwatch):
First render:
<1 second without debugger
5 seconds on USB debugger
30 seconds on wireless debugger
Data loaded from webserver and UI responding:
<1 second without debugger
19 seconds on USB debugger
5 minutes on wireless debugger!
Doing an online speed test reports 55 Mbps for the phone and 60 Mbps on the MacBook, so I doubt it's my WiFi.
Having a debugger attached used to make minimal difference on iOS 18, but the performance has tanked completely since the last major release. What happened?
why xcode has no option to fold all
Topic:
Developer Tools & Services
SubTopic:
Xcode
Ever since I updated to Xcode 16.2, no device running iOS 18 shows up in Xcode. I can see the devices in Finder and Apple Configurator, but not in Xcode. When I run xcrun devicectl list devices, I also do not see the devices, so I assume the issue is in CoreDevice somewhere.
I've tried many things I've seen suggested in similar threads (toggling developer mode, reinstalling Xcode, using a different physical cable, etc) and so far nothing has helped. This same behavior is also happening for my entire development team, which has been as difficult as you might imagine.
Any info on how to resolve this would be much appreciated.
I encountered this issue with an app I'm writing that accepts arguments. With some troubleshooting I've determined that this is an inherent behaviour in how Xcode 16 compiles SwiftUI apps and how macOS 15 launches them.
The issue:
Launching the app as open /Applications/AppName.app --args --arg1 --arg2 --arg3 etc should allow the app to process the arguments as CommandLine.arguments and this is still the case. How the app sees arguments is unchanged and doesn't matter if you use CommandLine.arguments or swift argument parser or don't have arguments at all. This will affect any SwiftUI app as I'll demonstrate below.
The problem is that if you use a mix of arguments as --arg value pairs or --arg as a flag, then depending on the order the arguments are provides, the app won't launch properly. The icon will appear in the dock but no window appears until you click the icon in the dock. (BTW, having "Application is agent (UIElement)" set to YES in the Info.plist makes this task rather difficult.)
In testing if you use all flags, it's fine. if the flags are in pairs, it's fine. if you have one flag and then a --arg value pair, you will see the issue. If you reverse the order so the flag is after then it works fine.
How to replicate:
On macOS 15 and Xcode 16
Open Xcode
Create a new macOS App (called demoapp in my example)
Select SwiftUI as the interface
Build
That it. Don't add anything and just build the boilerplate hello world app that Xcode makes for you. Once that's built, cd to your /Build/Products/Debug/ directory in terminal and try the following (this happens if you build for release as well):
note, the app window will display when you click the icon in the dock, just not on initial launch
# three single arguments
open ./demoapp.app --args --foo --bar --baz
# App window displays as expected
# one single argument, one arg value pair
open ./demoapp.app --args --foo --bar baz
# The app window will not appear.
# same arguments as before but the single argument is after the arg value pair
open ./demoapp.app --args --bar baz --foo
# App window displays as expected
# arg[1] without `-` or `--` prefix
open ./demoapp.app --args foo --bar --baz
# The app window will not appear.
# arg[1] and arg [2] without prefix
open ./demoapp.app --args foo bar --baz
# The app window will not appear.
# single - in front of the first two arguments
open ./demoapp.app --args -foo -bar baz
# The app window will not appear.
# single - in front of the first three arguments
open ./demoapp.app --args -foo -bar -baz bob
# App window displays as expected
No idea what is going on but I suspect macOS does some pre-processing before launching the app, for example you can do stuff like open /Applications/SomeApp.app --args -AppleLanguages '(de)' to run using a specific language. I presume the OS is pre-processing arguments before launching the app proper.
If I compile the app using Xcode 15.4 then this issue is not present. Also Apps compiled with Xcode 16 do not exhibit the issue on macOS 14 or earlier. It's a specific Xcode 16, macOS 15 thing in the way the app is compiled that makes it behave this way.
I hope I've explained it correctly, but it's very easy to replicate. I filed a feedback for it (under a different apple account), FB15577018.
Any insight into what's going on here would be helpful. Also if there's any compiler flags I could be setting. In my actual project, I'm not making any other changes. The same code compiled under Xcode 16 (.0 or .1RC) behaves differently to Xcode 15.4.
Topic:
Developer Tools & Services
SubTopic:
Xcode
Despite Xcode being the one and most used IDE for iOS, it is far from perfect. I have used many tools in my career and here are some features, that would make it much better or what I miss from other IDEs. I encourage others to chip in discussion and lets all hope, Apple starts to improve Xcode. Will put each issue in separate comment below.
Slow debugger: not sure what bloat Xcode has or what it is doing, but sometimes it can take more than 10 seconds from breakpoint firing to actually see values. Moreover when debugging SwiftUI or something objC I have to drill down to see value of property or use po and p command and hope it works. SwiftUI views and states are a big pain to debug, to see what is changing a value I have to always use didSet trick or some other black magic. Is it too hard to make it easier? Breakpoints with condition can take up to 1 minute to load and I have M1 Max MBP. Just tried cursor IDE few days ago and breakpoints are much faster and without too much bloat in variable inspector.
Topic:
Developer Tools & Services
SubTopic:
Xcode
My Xcode version is 16.4, I have added an old version simulator (iPhone 13 with iOS 17.2) to the simulator list, but I can't use it for debugging, and all on display are iPhone 16 with 18.6 (the latest iOS devices).
The setting "Minimum Deployments" for my App is 16.6.
In addition, when I downloaded an iOS 16.0 version simulator, Xcode automatically added all iPhone 15 models of the simulator, but I still can't use them. In short, I can only use the default iPhone 16 simulators.
So, if I want to debug my App using iPhone 13 (iOS 17.2), what should I do?
Thank you for your reply. :)
Another small issue, my App's destination has been set to support only iPhone, why are those iPad simulators still appearing?
Hello,
I am using Xcode 16.1 (16B40) on MacOS Sequoia 15.1.0 using a Macbook pro M1 Max
I am developing an app for iOS 17 and 18 using SwiftUI
I created UITests to take the screenshots for the appStore on the simulator
The tests run well and all of them are succeded
The problem appears when I try to get the screenshot files from the xcresult files after the test. There is not any screenshot inside it.
I found a data folder and a Info.plist file. In the data folder there are a lot of files with this pattern data.03zD4C6IGFFthK14NwA8mNvcwFHT16g6Tl40Tl1YmBC1bNh6d0YIcnWKyUaQPDXoa8fYo6C3Xcv8xvMtE3_NEXA== and other files with this pattern refs.03zD4C6IGFFthK14NwA8mNvcwFHT16g6Tl40Tl1YmBC1bNh6d0YIcnWKyUaQPDXoa8fYo6C3Xcv8xvMtE3_NEXA==
Ok, I tryed to use fastlane to automatize the screenshots but the problem is still present. The xcresult files have not any png file.
I had no problems doing this action (getting screenshots from a xcresult file) in previous versions of MacOS and Xcode in my current machine.
I just updated my machine to MacOS Sequoia 15.1.1 and the problem is still present
Honestly I don't know how to fix this situation.
With Xcode 15 I had not any problem with that but I am not sure if Xcode 16.0 was runing without problems because I didn't need to use this functionality in those months
Here is my code for a UITest:
import XCTest
final class ScreenshotsUITests: XCTestCase {
let app = XCUIApplication()
let device = "iPhone16"
override func setUpWithError() throws {
continueAfterFailure = true
}
override func tearDownWithError() throws {}
@MainActor
func testEnglishScreens() throws {
let lang = "en"
app.launchArguments.append("UITestMode")
app.launchArguments += ["-AppleLanguages", "(en)"]
app.launchArguments += ["-AppleLocale", "en_US"]
app.launch()
executeTestsForMenus(lang: lang, backLabel: "Back")
executeTestForMatch(lang: lang)
}
@MainActor
func testSpanishScreens() throws {
let lang = "es"
app.launchArguments.append("UITestMode")
app.launchArguments += ["-AppleLanguages", "(es)"]
app.launchArguments += ["-AppleLocale", "es_ES"]
app.launch()
executeTestsForMenus(lang: lang, backLabel: "Atrás")
executeTestForMatch(lang: lang)
}
private func executeTestForMatch(lang: String) {
let startButton = app.buttons["start-button"]
startButton.tap()
let key4 = app.buttons["key-4"]
XCTAssertTrue(key4.waitForExistence(timeout: 30), "Key 4 in match screen is not found")
key4.tap()
let key2 = app.buttons["key-2"]
XCTAssertTrue(key2.exists, "Key 2 in match screen is not found")
key2.tap()
makeScreenShot("playing", lang: lang)
let closeButton = app.buttons["close-button"]
XCTAssertTrue(closeButton.exists, "Close button in match screen is not found")
closeButton.tap()
}
private func executeTestsForMenus(lang: String, backLabel: String) {
let mainHeader = app.staticTexts["Math match"]
XCTAssertTrue(mainHeader.exists, "Header in main screen is not found")
makeScreenShot("mainMenu", lang: lang)
let settingsButton = app.buttons["settings-button"]
XCTAssertTrue(settingsButton.exists, "Settings button in main screen is not found")
settingsButton.tap()
makeScreenShot("Settings", lang: lang)
let backButton = app.buttons[backLabel]
XCTAssertTrue(backButton.exists, "Back button in match screen is not found")
backButton.tap()
let helpButton = app.buttons["help-button"]
XCTAssertTrue(helpButton.exists, "Help button in main screen is not found")
helpButton.tap()
makeScreenShot("Help", lang: lang)
backButton.tap()
let scoreButton = app.buttons["score-button"]
XCTAssertTrue(scoreButton.exists, "Scores button in main screen is not found")
scoreButton.tap()
makeScreenShot("Scores", lang: lang)
backButton.tap()
let playButton = app.buttons["play-button"]
XCTAssertTrue(playButton.exists, "Play button in main screen is not found")
playButton.tap()
makeScreenShot("matchBuilder", lang: lang)
let startButton = app.buttons["start-button"]
XCTAssertTrue(startButton.exists, "Start button in match builder screen is not found")
}
private func makeScreenShot(_ name: String, lang: String) {
takeScreenshot(app, named: "\(lang)-\(name)-\(device)")
}
}
import XCTest
extension XCTestCase {
func takeScreenshot(_ app: XCUIApplication, named name: String, fullScreen: Bool = false) {
let screenshot: XCUIScreenshot
if fullScreen {
screenshot = app.windows.firstMatch.screenshot()
} else {
screenshot = XCUIScreen.main.screenshot()
}
let screenshotAttachment = XCTAttachment(
uniformTypeIdentifier: "public.png",
name: "screenshot-\(name).png",
payload: screenshot.pngRepresentation,
userInfo: nil)
screenshotAttachment.lifetime = .keepAlways
add(screenshotAttachment)
}
}
and here is the content of my testplan file:
{
"configurations" : [
{
"id" : "35BC7C0B-9A5A-4027-9F30-36958C4C1AAF",
"name" : "Test Scheme Action",
"options" : {
"preferredScreenCaptureFormat" : "screenshot",
"testExecutionOrdering" : "random",
"uiTestingScreenshotsLifetime" : "keepAlways",
"userAttachmentLifetime" : "keepAlways"
}
}
],
"defaultOptions" : {
"targetForVariableExpansion" : {
"containerPath" : "container:myAppProject.xcodeproj",
"identifier" : "B27D1B022CA00314001A259B",
"name" : "MyAppProject"
}
},
"testTargets" : [
{
"parallelizable" : true,
"target" : {
"containerPath" : "container:MyAppProject.xcodeproj",
"identifier" : "B27D1B122CA00315001A259B",
"name" : "MyAppProjectTests"
}
},
{
"parallelizable" : true,
"target" : {
"containerPath" : "container:MyAppProject.xcodeproj",
"identifier" : "B27D1B1C2CA00315001A259B",
"name" : "MyAppProjectUITests"
}
}
],
"version" : 1
}
I made tests with old projects in my machine and those projects have the same problem with screenshot files in the xcresult bundles
I don't know if the problem is in my machine, my Xcode, MacOS or other ting. I don't know how to fix this problem
Please, can anyone help me?
Thanks in advance
This is from Mac OS 26 or the prior version.
It seems to be trying to include XCTest, but its no where in the build phases or frameworks? Anyone seen this issue?
Failed to install the app on the device.
Domain: com.apple.dt.CoreDeviceError
Code: 3002
User Info: {
DVTErrorCreationDateKey = "2025-06-11 15:28:16 +0000";
IDERunOperationFailingWorker = IDEInstallCoreDeviceWorker;
NSURL = "file:///Users/ekaplan/Library/Developer/Xcode/DerivedData/dormway-mobile-feckueenojzruoaobakflnuqoglk/Build/Products/Debug-iphoneos/dormway-mobile.app";
}
Unable to Install “DormWay”
Domain: IXUserPresentableErrorDomain
Code: 1
Failure Reason: Please try again later.
Recovery Suggestion: Failed to iterate on macho slices for input file: /private/var/containers/Bundle/Application/D920CF2A-E16B-403F-B2DB-8F1732CA3D5F/dormway-mobile.app/Frameworks/XCTest.framework/XCTest
Failed to iterate on macho slices for input file: /private/var/containers/Bundle/Application/D920CF2A-E16B-403F-B2DB-8F1732CA3D5F/dormway-mobile.app/Frameworks/XCTest.framework/XCTest
Domain: MIInstallerErrorDomain
Code: 73
User Info: {
FunctionName = MIMachOFileIterateImageVersions;
SourceFileLine = 129;
}
parse_macho_iterate_slices failed for /private/var/containers/Bundle/Application/D920CF2A-E16B-403F-B2DB-8F1732CA3D5F/dormway-mobile.app/Frameworks/XCTest.framework/XCTest
Domain: NSPOSIXErrorDomain
Code: 62
Failure Reason: Too many levels of symbolic links
User Info: {
FunctionName = MIMachOFileIterateImageVersions;
SourceFileLine = 129;
}
Topic:
Developer Tools & Services
SubTopic:
Xcode
I'm unable to debug on iPhone 12 running iOS 17 beta 3 via network. I'm running Xcode 15 beta 6
Device shows in devices and simulators and I can debug when connected with cable.
However the "Connect Via Network" option is frayed out, oddly however the checkbox is ticked
I'm developing a app using RoomPlan so network connectivity is a must for debugging
Anyone else encountered this and know how to get around this problem
Other devices running iOS 16 connect via network just fine
Hey guys, I updated to macOS Tahoe and after that I tried installing Xcode 26, but I always get an error message saying it can’t complete the installation, both through the App Store and via direct download from Apple’s website. Is anyone else having this same issue?
With Xcode 26.0 beta 5 (17A5295f) when I run the following command
xcodebuild -downloadComponent metalToolchain
I get the following error:
xcodebuild[48851:12478851] Writing error result bundle to /var/folders/b_/g67r_tl557z244g20ncr_qmsd9wrz1/T/ResultBundle_2025-07-08_11-10-0012.xcresult
xcodebuild: error: Failed fetching catalog for assetType (com.apple.MobileAsset.MetalToolchain), serverParameters ({
RequestedBuild = 17A5295f;
})
I can't install the toolchain from the Xcode GUI also. Does someone know a workaround ?
I am missing device support for IOS 18.5 in xcode. I tried installing xcode 16.4, xcode 16.4 beta and xcode 26 beta 2 but none of them generated folder for 18.5. Is this happening only for me or everyone. Please provide me 18.5 folder if anyone has it. I would appreciate a lot.