I'm trying to get performance information in a Metal cpp program. I'm using Xcode 14.2. In the Counters tab, only the inscription No Data appears. What could be the problem, what am I doing wrong?
The libraries Metal, MetalKit, AppKit are connected. The code is taken from the Apple website from the Learn Metal with C++ section.
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
I find Xcode's Debugging Variable View to be to cluttered, even when just watching "local" variables.
Is there anyway to set it so that it only shows the variables I want to watch? Would make debugging so much easier.
Please see this question: https://github.com/appium/appium/discussions/20827?sort=new
Topic:
Developer Tools & Services
SubTopic:
Xcode
Hi,
I'm working in unity and I've implemented Firebase Phone Number Authentication in it. Everything works fine when I directly install build from xCode. App Attest screen shows up, user receives OTP on their phone and login works. But when I download the same build from TestFlight, it gets stuck after the user sends OTP request.
I've added Push Notifications and App Attest in capabilities. I've also additionally added Remote Notifications.
In device log I see an error about mobile provisioning file but I've added that to my account also. Is this expected behavior that phone number authentication does not work on TestFlight? If yes, how can I get this approved from apple since they need to test it before approving it.
Thanks!
I'm trying to compile my project, which worked fine before upgrading to Xcode 16, and I'm getting error clang: error: unsupported option '-mno-thumb' for target 'arm64-apple-ios18.0-simulator'. It appears to a similar issue as this BoringSSL-GRPC issue. The fix from StackOverflow was to automatically strip the flag in the Podfile using CocoaPods, but I'm not using CocoaPods. I've grepped the entire project, and I can't find that flag anywhere in the project. Likewise, the full error message doesn't even include -mno-thumb. Does anyone know how I can determine where this flag is being added, so I can remove it?
I've tried this in both Xcode 16.1 and Xcode 16.2 on MacOS Sonoma and Sequoia 15.2.
The full error log is
CompileC /Users/ck/Library/Developer/Xcode/DerivedData/Delta-dwedcmxtirqnkdghmvobshblwrib/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/DSDeltaCore.build/Objects-normal/arm64/DSEmulatorBridge.o /Users/ck/Projects/system/Delta/Cores/DSDeltaCore/DSDeltaCore/Bridge/DSEmulatorBridge.mm normal arm64 objective-c++ com.apple.compilers.llvm.clang.1_0.compiler (in target 'DSDeltaCore' from project 'Pods')
cd /Users/ck/Projects/system/Delta/Pods
Using response file: /Users/ck/Library/Developer/Xcode/DerivedData/Delta-dwedcmxtirqnkdghmvobshblwrib/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/DSDeltaCore.build/Objects-normal/arm64/af3fcb34312c57c0f52879cdce924b91-common-args.resp
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x objective-c++ -ivfsstatcache /Users/ck/Library/Developer/Xcode/DerivedData/SDKStatCaches.noindex/iphonesimulator18.2-22C146-07b28473f605e47e75261259d3ef3b5a.sdkstatcache -fmessage-length\=0 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit\=0 -fno-color-diagnostics -fmodules-prune-interval\=86400 -fmodules-prune-after\=345600 -fbuild-session-file\=/Users/ck/Library/Developer/Xcode/DerivedData/ModuleCache.noindex/Session.modulevalidation -fmodules-validate-once-per-build-session -Wnon-modular-include-in-framework-module -Werror\=non-modular-include-in-framework-module -Wno-trigraphs -Wno-missing-field-initializers -Wno-missing-prototypes -Werror\=return-type -Wdocumentation -Wunreachable-code -Wno-implicit-atomic-properties -Werror\=deprecated-objc-isa-usage -Wno-objc-interface-ivars -Werror\=objc-root-class -Wno-arc-repeated-use-of-weak -Wimplicit-retain-self -Wno-non-virtual-dtor -Wno-overloaded-virtual -Wno-exit-time-destructors -Wduplicate-method-match -Wno-missing-braces -Wparentheses -Wswitch -Wunused-function -Wno-unused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wempty-body -Wuninitialized -Wconditional-uninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wconstant-conversion -Wint-conversion -Wbool-conversion -Wenum-conversion -Wno-float-conversion -Wnon-literal-null-conversion -Wobjc-literal-conversion -Wshorten-64-to-32 -Wno-newline-eof -Wno-selector -Wno-strict-selector-match -Wundeclared-selector -Wdeprecated-implementations -Wno-c++11-extensions -Wno-implicit-fallthrough -fstrict-aliasing -Wprotocol -Wdeprecated-declarations -Winvalid-offsetof -Wno-sign-conversion -Winfinite-recursion -Wmove -Wcomma -Wblock-capture-autoreleasing -Wstrict-prototypes -Wrange-loop-analysis -Wno-semicolon-before-method-body -Wunguarded-availability -index-store-path /Users/ck/Library/Developer/Xcode/DerivedData/Delta-dwedcmxtirqnkdghmvobshblwrib/Index.noindex/DataStore @/Users/ck/Library/Developer/Xcode/DerivedData/Delta-dwedcmxtirqnkdghmvobshblwrib/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/DSDeltaCore.build/Objects-normal/arm64/af3fcb34312c57c0f52879cdce924b91-common-args.resp -w -Xanalyzer -analyzer-disable-all-checks -include /Users/ck/Projects/system/Delta/Pods/Target\ Support\ Files/DSDeltaCore/DSDeltaCore-prefix.pch -MMD -MT dependencies -MF /Users/ck/Library/Developer/Xcode/DerivedData/Delta-dwedcmxtirqnkdghmvobshblwrib/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/DSDeltaCore.build/Objects-normal/arm64/DSEmulatorBridge.d --serialize-diagnostics /Users/ck/Library/Developer/Xcode/DerivedData/Delta-dwedcmxtirqnkdghmvobshblwrib/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/DSDeltaCore.build/Objects-normal/arm64/DSEmulatorBridge.dia -c /Users/ck/Projects/system/Delta/Cores/DSDeltaCore/DSDeltaCore/Bridge/DSEmulatorBridge.mm -o /Users/ck/Library/Developer/Xcode/DerivedData/Delta-dwedcmxtirqnkdghmvobshblwrib/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/DSDeltaCore.build/Objects-normal/arm64/DSEmulatorBridge.o -index-unit-output-path /Pods.build/Debug-iphonesimulator/DSDeltaCore.build/Objects-normal/arm64/DSEmulatorBridge.o
clang: error: unsupported option '-mno-thumb' for target 'arm64-apple-ios18.0-simulator'
Topic:
Developer Tools & Services
SubTopic:
Xcode
When Xcode 16.2 connects iPad to real machine debugging using the view in the picture box, the mac will be stuck directly, the computer cursor will disappear, and the computer cannot do any operation
Topic:
Developer Tools & Services
SubTopic:
Xcode
I have enabled Code Review with the button and then String Catalog turned up to code view anyways i can't get it back to original view. Disable Code Review button doesn't do anything. Any idea?
Topic:
Developer Tools & Services
SubTopic:
Xcode
Hello,
I recently received feedback from two users that they charged twice after entering their password when trying to initiate payment on the app. I checked my front-end and back-end codes, both of which only initiate one order, but I don't know why the user deducts two payments after entering the password.
I hope everyone can help me analyze this problem and how it came about?
Additionally, I wonder if there is a possibility that the system may prompt the user to enter their password again due to network issues, resulting in the deduction of two payments. But the user told us that they only entered the password once (I don't know if the user lied).
I am unable to find how the problem arose. I hope you can help me analyze how to solve this problem?
If you also encounter such a problem, can you teach me how to solve it?
Topic:
Developer Tools & Services
SubTopic:
Xcode
Tags:
StoreKit
App Store Connect
In-App Purchase
Apple Pay
Domain: com.apple.dt.CoreDeviceError
Code: 3000
Failure Reason: The path to the provided bundle's main executable could not be determined.
Recovery Suggestion: Ensure that your bundle's Info.plist contains a value for the key CFBundleExecutable.
Topic:
Developer Tools & Services
SubTopic:
Xcode
Like the title says, I'll commit some changes no problem with my Git name and email displayed properly, then work for a while longer and when use the integrate menu to stage and commit I find the git name/email are empty.
My credentials are properly entered in settings.
The only fix i've found is quitting and restarting. Any less frustrating option?
Topic:
Developer Tools & Services
SubTopic:
Xcode
If you need help investigating a crash, please include a crash report in your post. To smooth things along, follow these guidelines:
For information on how to get a crash report, see Acquiring crash reports and diagnostic logs.
Include the whole crash report as a text attachment (click the paperclip icon and then choose Add File). This avoids clogging up the timeline while also preserving the wealth of information in the crash report.
If you’re not able to post your crash report as an attachment, see Can’t Post Crash Report as Attachment below.
If you want to highlight a section of the report, include it in the main body of your post. Put the snippet in a code block so that it renders nicely. To create a code block, add a delimiter line containing triple backquotes before and after the block, or just click the Code Block button.
If possible, post an Apple crash report. Third-party crash reporters are often missing critical information and have general reliability problems (for an explanation as to why, see Implementing Your Own Crash Reporter).
Symbolicate your crash report before posting it. For information on how to do this, see Adding identifiable symbol names to a crash report.
If you need to redact the crash report, do so consistently. Imagine you’re building the WaffleVarnish app whose bundle ID is com.example.wafflevarnish but you want to keep your new waffle varnishing technology secret. Replace WaffleVarnish with WwwwwwVvvvvvv and com.example.wafflevarnish with com.eeeeeee.wwwwwwvvvvvvv. This keeps the text in the crash report aligned while making it possible to distinguish the human-readible name of the app (WaffleVarnish) from the bundle ID (com.example.wafflevarnish).
Finally, for information on how to use a crash report to debug your own problems, see Diagnosing issues using crash reports and device logs.
Can’t Post Crash Report as Attachment
Crash reports have two common extensions: .crash and .ips. If you have an .ips file, please post that [1].
DevForums lets you attach a .crash file but not an .ips file (r. 117468172). To work around this, change the extension to .txt.
If DevForums complains that your crash report “contains sensitive language”, leave it out of your initial post and attach it to a reply. That often avoids this roadblock.
If you still can’t post your crash report, upload it to a file sharing service and include the URL in your post. Post the URL in the clear, per tip 14 in Quinn’s Top Ten DevForums Tips.
Getting a Crash Report from the Xcode Organiser
The Xcode organiser shows crash reports from customers. If you’re investigating such a crash and want to post a crash report:
Navigate to the crash in the Xcode organiser.
Note If you can’t see the right crash, check the filter popups at the top.
In the list of crashes, secondary click on your crash and choose Show in Finder.
That reveals the Xcode crashpoint document (.xccrashpoint) in the Finder. Secondary click on that and choose Show Package Contents.
In the resulting Finder window, find a crash report (.crash) that accurately represents the crash you’re investigating and attach that to your forums post.
Share and Enjoy
—
Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"
[1] Because it’s easy to go from an .ips file to a .crash file. I usually do this by choosing File > Quick Look in the Finder. For more info about these file formats, see this post.
Revision History:
2025-08-29 Added the Getting a Crash Report from the Xcode Organiser section.
2024-11-21 Added a recommendation to post the .ips format if possible.
2024-05-21 Added some advice regarding the “contains sensitive language” message.
2023-10-25 Added the Can’t Post Crash Report as Attachment section. Made other minor editorial changes.
2021-08-26 First posted.
I have the 'warnings as errors' policy set to Yes for Apple Clang and Swift compiler.
As far as I know, there is no way to make exceptions to the warning policies from Swift compiler (correct me if I am wrong), what about Clang warning policies, specifically when it comes to header files from 3rd party pods? They don't show up on the Compile Sources so I can't apply flags such as -Wno-error=deprecated to them. Adding #pragma GCC... to them won't help as a fresh pod install will wipe the #pragma statements out.
Is there a way to exclude the header files from pods from getting the warning policies from Clang so I won't see errors from them when compiling Clang modules that's a part of the build process?
升级到 Xcode 16.2 后,无法打开项目。
Topic:
Developer Tools & Services
SubTopic:
Xcode
Hello.
We have a few iOS devices connected to CI macs. We test our 3D engine, so we really need hardware devices for that. The issue is that Xcode loses connection to the devices once in a while, mostly after mac reboot, which requires a human to enter test room and unplug and plug cable again. Even if device is visible and accessible in Finder, Xcode may still don't see it, and devicectl shows it as disconnected.
Are there any hacks to make connection stable? The best what we could achieve so far was to remove iOS device screen lock - otherwise mac reboot would in 100% cases require human interaction to reconnect the device.
Both iOS and mac are logged into the same Apple ID.
Mac is logged in automatically after reboot
iOS devices have no screen lock
Thank you.
What is the reason for the input box on the login page of the self-developed APP not working in the new version of iOS?
I have a warning on my AR app Virtual Tags that since July does not show its camera information telling:
"ARCL.SceneLocationView implements focusItemsInRect: - caching for linear focus movement is limited as long as this view is on screen."
I tried inserting the function, but documentation does not explain what it should return and how to generate it. Is someone able to help me?
Thanks,
I would like a shortcut for deleting view in swiftui
VStack {
// long code
}
How to delete VStack with its ending curly bracket?
Thanks
Dear Developers, I am having some problems with Reality Composer Pro on Mac. Specifically, I don't understand how to manage some timeline functions. I have an object that has a double animation, an opening animation and a closing animation. On a first tap the object should open through animation 1, while on the second tap the object should close through animation 2. Only the two animations conflict. In addition, animation 1 does not stop at the last frame but returns the object to the position of frame 0. Do you have any solutions? Thank you all
I have this code:
var eventIn = kevent(ident: UInt(self.socket),
filter: Int16(EVFILT_WRITE),
flags: UInt16((EV_ADD | EV_ENABLE)),
fflags: 0,
data: 0,
udata: nil
)
I looked at it and thought why do I have those extra parentheses? So I changed it to
var eventIn = kevent(ident: UInt(self.socket),
filter: Int16(EVFILT_WRITE),
flags: UInt16(EV_ADD | EV_ENABLE), // changed line!
fflags: 0,
data: 0,
udata: nil
)
and then kevent gave me EBADF.
Does this make sense to anyone?
I am using ARKit with RealityKit to scan objects using LiDAR on iOS. I can generate an OBJ file from ARMeshAnchors, but I am missing the texture export (JPG + MTL).
What I Have So Far:
Successfully capturing mesh using ARMeshAnchor.
Converting mesh into MDLAsset and exporting .obj.
I need help generating the .jpg texture and linking it to the .mtl file.
private func exportScannedObject() {
guard
let camera = arView.session.currentFrame?.camera
else { return }
func convertToAsset(meshAnchors: [ARMeshAnchor]) -> MDLAsset? {
guard let device = MTLCreateSystemDefaultDevice() else {return nil}
let asset = MDLAsset()
for anchor in meshAnchors {
let mdlMesh = anchor.geometry.toMDLMesh(device: device, camera: camera, modelMatrix: anchor.transform)
// Apply a gray material to the mesh
let material = MDLMaterial(name: "GrayMaterial", scatteringFunction: MDLScatteringFunction())
material.setProperty(MDLMaterialProperty(name: "baseColor", semantic: .baseColor, float3: SIMD3(0.5, 0.5, 0.5))) // Gray color
if let submeshes = mdlMesh.submeshes as? [MDLSubmesh] {
for submesh in submeshes {
submesh.material = material
}
}
asset.add(mdlMesh)
}
return asset
}
func export(asset: MDLAsset) throws -> URL {
let directory = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!
let url = directory.appendingPathComponent("scaned.obj")
if MDLAsset.canExportFileExtension("obj") {
do {
try asset.export(to: url)
return url
} catch let error {
fatalError(error.localizedDescription)
}
} else {
fatalError("Can't export USD")
}
}
if let meshAnchors = arView.session.currentFrame?.anchors.compactMap({ $0 as? ARMeshAnchor }),
let asset = convertToAsset(meshAnchors: meshAnchors) {
do {
let url = try export(asset: asset)
showScanPreview(url)
} catch {
print("export error")
}
}
}
extension ARMeshGeometry {
func vertex(at index: UInt32) -> SIMD3<Float> {
assert(vertices.format == MTLVertexFormat.float3, "Expected three floats (twelve bytes) per vertex.")
let vertexPointer = vertices.buffer.contents().advanced(by: vertices.offset + (vertices.stride * Int(index)))
let vertex = vertexPointer.assumingMemoryBound(to: SIMD3<Float>.self).pointee
return vertex
}
// helps from StackOverflow:
// https://stackoverflow.com/questions/61063571/arkit-3-5-how-to-export-obj-from-new-ipad-pro-with-lidar
func toMDLMesh(device: MTLDevice, camera: ARCamera, modelMatrix: simd_float4x4) -> MDLMesh {
func convertVertexLocalToWorld() {
let verticesPointer = vertices.buffer.contents()
for vertexIndex in 0..<vertices.count {
let vertex = self.vertex(at: UInt32(vertexIndex))
var vertexLocalTransform = matrix_identity_float4x4
vertexLocalTransform.columns.3 = SIMD4<Float>(x: vertex.x, y: vertex.y, z: vertex.z, w: 1)
let vertexWorldPosition = (modelMatrix * vertexLocalTransform).columns.3
let vertexOffset = vertices.offset + vertices.stride * vertexIndex
let componentStride = vertices.stride / 3
verticesPointer.storeBytes(of: vertexWorldPosition.x, toByteOffset: vertexOffset, as: Float.self)
verticesPointer.storeBytes(of: vertexWorldPosition.y, toByteOffset: vertexOffset + componentStride, as: Float.self)
verticesPointer.storeBytes(of: vertexWorldPosition.z, toByteOffset: vertexOffset + (2 * componentStride), as: Float.self)
}
}
convertVertexLocalToWorld()
let allocator = MTKMeshBufferAllocator(device: device);
let data = Data.init(bytes: vertices.buffer.contents(), count: vertices.stride * vertices.count);
let vertexBuffer = allocator.newBuffer(with: data, type: .vertex);
let indexData = Data.init(bytes: faces.buffer.contents(), count: faces.bytesPerIndex * faces.count * faces.indexCountPerPrimitive);
let indexBuffer = allocator.newBuffer(with: indexData, type: .index);
let submesh = MDLSubmesh(indexBuffer: indexBuffer,
indexCount: faces.count * faces.indexCountPerPrimitive,
indexType: .uInt32,
geometryType: .triangles,
material: nil);
let vertexDescriptor = MDLVertexDescriptor();
vertexDescriptor.attributes[0] = MDLVertexAttribute(name: MDLVertexAttributePosition,
format: .float3,
offset: 0,
bufferIndex: 0);
vertexDescriptor.layouts[0] = MDLVertexBufferLayout(stride: vertices.stride);
let mesh = MDLMesh(vertexBuffer: vertexBuffer,
vertexCount: vertices.count,
descriptor: vertexDescriptor,
submeshes: [submesh])
return mesh
}
}
What I Need Help With:
How do I generate the JPG texture from the AR scene?
How do I save an MTL file linking the OBJ model to the texture?
How can I correctly apply the texture when viewing the OBJ in an external 3D viewer?
I appreciate any guidance, including sample code or resources! If you have a complete working solution, I’d love to discuss further via private channels.