Hello all!
My application written with C++/CMake and when building have some troubles with adding test environment for StoreKit every time - it need to be done manually.
Is there any way to add StoreKit environment settings with CMake and when executed command like this $ cmake -g Xcode ... StoreKit test environment were automatically added?
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
Am running Xcode 16.1 on Sequoia and am getting "No such module" error.
Here are my steps:
Create workspace in Xcode and name it AccessControl2
Create Project named OrangeInc and add it to AccessControl2 group.
Create blank playground named AccessControl and add it to AccessControl2 group
Error message in playground after I add "import OrangeInc" reads "No such module"
Have tried repeating this several times; get same error message.
Hello Everyone,
Planning to add one Devoloper to my team for Xcode app development.
whats best to configure Xcloud ,Git and push updates to the main branches .
and i prefer not to use third party software or additional tools .
Thanks a lot and much appreciated
I have downloaded xcode version 14.2 from apple official archive. I ran xcode using these steps:
Right click -> Show Package content
Go to folder Contents -> Macos -> Xcode
Run the xcode terminal app
After this as soon as I try to open a project, xcode crashes. How do i run xcode of lower version as that specific version is required, I don't want to downgrade my macos as it will result in clearing my data or I have to transfer data.
Please help me with this issue.
Diagnostics
I'm able to build my project and run it on a simulator.
I generate my project with xcodegen which I've added a bunch of things to in attempting to fix this but failed!
This is my project.yml file:
name: Ecstasy
options:
deploymentTarget:
iOS: 17.0
xcodeVersion: "15.2"
developmentLanguage: en
targets:
Ecstasy:
type: application
platform: iOS
sources:
- path: Sources
- path: Resources
info:
path: Configurations/Info.plist
properties:
CFBundleDevelopmentRegion: "$(DEVELOPMENT_LANGUAGE)"
CFBundleExecutable: "$(EXECUTABLE_NAME)"
CFBundleIdentifier: "$(PRODUCT_BUNDLE_IDENTIFIER)"
CFBundleInfoDictionaryVersion: "6.0"
CFBundleName: "$(PRODUCT_NAME)"
CFBundlePackageType: "APPL"
CFBundleShortVersionString: "1.0"
CFBundleVersion: "1"
UILaunchStoryboardName: ""
UIViewControllerBasedStatusBarAppearance: true
UIStatusBarHidden: false
UIRequiresFullScreen: true
UISupportedInterfaceOrientations:
- UIInterfaceOrientationPortrait
UIUserInterfaceStyle: Light
settings:
base:
DEVELOPMENT_TEAM: MLJ2C965T7
PRODUCT_BUNDLE_IDENTIFIER: com.raw-e.Ecstasy
SWIFT_OPTIMIZATION_LEVEL: "-O"
SWIFT_COMPILATION_MODE: wholemodule
ENABLE_PREVIEWS: YES
DEBUG_INFORMATION_FORMAT: dwarf-with-dsym
CLANG_ENABLE_MODULES: YES
SWIFT_VERSION: 5.0
TARGETED_DEVICE_FAMILY: 1
ENABLE_BITCODE: NO
SWIFT_ACTIVE_COMPILATION_CONDITIONS: DEBUG
SWIFT_EMIT_LOC_STRINGS: YES
SWIFT_STRICT_CONCURRENCY: complete
ENABLE_USER_SCRIPT_SANDBOXING: YES
configs:
debug:
SWIFT_OPTIMIZATION_LEVEL: "-Onone"
SWIFT_COMPILATION_MODE: incremental
ENABLE_TESTABILITY: YES
GCC_OPTIMIZATION_LEVEL: 0
ONLY_ACTIVE_ARCH: YES
DEBUG_INFORMATION_FORMAT: dwarf
ENABLE_PREVIEWS: YES
SWIFT_ACTIVE_COMPILATION_CONDITIONS: "DEBUG PREVIEW"
release:
SWIFT_OPTIMIZATION_LEVEL: "-O"
SWIFT_COMPILATION_MODE: wholemodule
ENABLE_TESTABILITY: NO
GCC_OPTIMIZATION_LEVEL: s
ONLY_ACTIVE_ARCH: NO
dependencies:
- package: APITime
- package: GUITime
- package: LoggingTime
- package: Shares
packages:
APITime: { path: "/Users/raw-e/Desktop/Useful Swift Things/My Packages/APITime" }
GUITime: { path: "/Users/raw-e/Desktop/Useful Swift Things/My Packages/GUITime" }
LoggingTime: { path: "/Users/raw-e/Desktop/Useful Swift Things/My Packages/LoggingTime" }
Shares: { path: "/Users/raw-e/Desktop/Useful Swift Things/My Packages/Shares" }
Topic:
Developer Tools & Services
SubTopic:
Xcode
I'm new to Xcode and decided to give it a try, however, I'm unable to preview even the default "hello, world" message.
I've tried downloading Xcode on the App Store on Mac and from the official website, but I couldn't go pass the "Preparing (Automatic) iPhone Simulator."
I've also tried the following line of code on Terminal, but nada:
xcrun simctl erase all
Here's what I see for almost two hours now (it makes no sense):
My system specs:
iMac Retina 4K, 21.5-inch, 2019, 3 GHz Intel Core i5 6-Core, Radeon Pro 560X 4 GB, 8 GB 2667 MHz DDR4 (two 4gb core each), 1TB SSD.
I've coded way bigger web projects using various applications, but Xcode can't even preview the sample file?
Please, help. I would really like to code using Swift. :)
For normal testing I build an application using Xcode and selecting "Build for Profiling" from the Product menu.
For production I do
"xcodebuild clean build -configuration Release ......."
I notice a big performance difference.
In my case the XCode profiling build runs in under a minute, the xcodebuild version takes over 4 minutes.
The XCode profiling build uses the Release configuration, the xcodebuild is also using the Release configuration.
What additional configuration options are being set/used when "Building for Profiling"?
I'm having a hard time finding an answer to this question.
in Apple documentation:
https://developer.apple.com/documentation/pdfkit/pdfannotationbuttonwidget/setbackgroundcolor(_:)?language=objc
What is the alternative (to set window background) ?
Topic:
Developer Tools & Services
SubTopic:
Xcode
A new app I submitted to review was rejected due to a crash.
I cannot reproduce the crash, even running it on exact the same device model used by App Review.
So I need to symbolicate the ips crash log they provided me.
Using MacSymbolicate and the archive located using Xcode Organizer I was able to partially symbolicate the crash log.
To fully symbolicate the crash log, however, according to MacSymbolicate, I would need two more symbol files, which can't be located, because they relate to system frameworks (SwiftData and _SwiftData_SwiftUI).
I have tried to follow the instructions provided on
https://developer.apple.com/documentation/xcode/adding-identifiable-symbol-names-to-a-crash-report
but I had no success.
It seems to me that the instructions contained there for symbolicating using Xcode do not apply for crash logs downloaded from appstoreconnect after an App Review rejection. Also, the instructions seem to be out of date, e.g. "To symbolicate in Xcode, click the Device Logs button in the Devices and Simulators window.": This button was replaced by "Open Recent Logs", which opens what seems to be a different window (according to some online research).
Is it possible to fully symbolicate such an ips file downloaded from App Review team?
If so, how can this be achieved?
Thanks
This is how the partially symbolicated crash log looks like:
Hardware Model: iPad13,16
...
AppStoreTools: 16C5031b
Code Type: ARM-64 (Native)
Role: Foreground
Parent Process: launchd [1]
...
OS Version: iPhone OS 18.2.1 (22C161)
Release Type: User
Report Version: 104
Exception Type: EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x0000000000000001, 0x000000018c100e2c
Termination Reason: SIGNAL 5 Trace/BPT trap: 5
Terminating Process: exc handler [6226]
Triggered by Thread: 0
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0 libswiftCore.dylib 0x18c100e2c _assertionFailure(_:_:file:line:flags:) + 264
1 SwiftData 0x24fa6f3b4 0x24fa4a000 + 152500
...
14 SwiftData 0x24fa89700 0x24fa4a000 + 259840
15 _SwiftData_SwiftUI 0x250cd34e4 0x250cce000 + 21732
16 _SwiftData_SwiftUI 0x250cd1364 0x250cce000 + 13156
17 XXX 0x10451f7ac closure #1 in closure #2 in closure #1 in PaymentsMonthView.body.getter (in XXX) (PaymentsMonthView.swift:119) + 1324972
18 XXX 0x10451ea14 closure #1 in PaymentsMonthView.body.getter (in XXX) (PaymentsMonthView.swift:99) + 1321492
19 SwiftUICore 0x24fd5d304 specialized ViewBodyAccessor.updateBody(of:changed:) + 1240
20 SwiftUICore 0x24fd5cd4c closure #1 in DynamicBody.updateValue() + 600
21 SwiftUICore 0x24fd5c008 DynamicBody.updateValue() + 928
...
...
Thread 0 crashed with ARM Thread State (64-bit):
x0: 0x000000011128b208 x1: 0x0000000200000003 x2: 0x0000000000000001 x3: 0x00000001130be744
x4: 0xfffffffffe1cd413 x5: 0x0000000000000013 x6: 0x0000000000000020 x7: 0x00000000000007fc
x8: 0xfffffffe00000000 x9: 0x0000000200000003 x10: 0x0000000000000003 x11: 0x0000000000000000
x12: 0x00180080004019e0 x13: 0x00100000004017fc x14: 0x00000001046d23e0 x15: 0x00000000000001e0
x16: 0x952d0001130bde00 x17: 0x00000000020007fc x18: 0x0000000000000000 x19: 0x000000024fb661e0
x20: 0x000000011128b200 x21: 0x0000000000000000 x22: 0x000000000000000b x23: 0x000000000000001d
x24: 0x0000000000000040 x25: 0x000000024fb64790 x26: 0xf000000000000977 x27: 0x0000000000000000
x28: 0x000000024fb64750 fp: 0x000000016ba188f0 lr: 0x000000018c100e2c
sp: 0x000000016ba18820 pc: 0x000000018c100e2c cpsr: 0x60001000
far: 0x0000000000000000 esr: 0xf2000001 (Breakpoint) brk 1
Binary Images:
0x1043dc000 - 0x104633fff Locador arm64 <78fc8961d731321ba0c8f9bb051109c5> /private/var/containers/Bundle/Application/FE1C10C5-49C1-4022-860A-6C3515E2F8BB/Locador.app/Locador
0x1047fc000 - 0x104807fff libobjc-trampolines.dylib arm64e <be05652226b13a508ad193ac99fcdc9c> /private/preboot/Cryptexes/OS/usr/lib/libobjc-trampolines.dylib
0x18c0c9000 - 0x18c66afff libswiftCore.dylib arm64e <e9b1dc6b7fef3bbbb083f4e8faaa53df> /usr/lib/swift/libswiftCore.dylib
0x24fa4a000 - 0x24fb88ff7 SwiftData arm64e <90275b26954b349996ff44ada39f0358> /System/Library/Frameworks/SwiftData.framework/SwiftData
0x250cce000 - 0x250cebff8 _SwiftData_SwiftUI arm64e <d250fe30854c3f1c85fc8a89dec5d484> /System/Library/Frameworks/_SwiftData_SwiftUI.framework/_SwiftData_SwiftUI
0x24fcf8000 - 0x2508d4fff SwiftUICore arm64e <647b91f1620d3741bd708f9f26b5674b> /System/Library/Frameworks/SwiftUICore.framework/SwiftUICore
0x1ba831000 - 0x1ba874fff AttributeGraph arm64e <5eeff865ac123665a9dba9d612eb0e9f> /System/Library/PrivateFrameworks/AttributeGraph.framework/AttributeGraph
0x19220e000 - 0x1934d0fff SwiftUI arm64e <0b283f5831ae385f9c8ff128fd0e30b8> /System/Library/Frameworks/SwiftUI.framework/SwiftUI
0x1902f8000 - 0x19220dfff UIKitCore arm64e <f80c6ee450ca346f90ebbb3da9817503> /System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore
0x18dadc000 - 0x18e01ffff CoreFoundation arm64e <6a60be13e6573beca9acba239ae29862> /System/Library/Frameworks/CoreFoundation.framework/CoreFoundation
0x1dacec000 - 0x1dacf4fff GraphicsServices arm64e <f4e7a885f4913721862dc57403f4d821> /System/Library/PrivateFrameworks/GraphicsServices.framework/GraphicsServices
0x1b3d31000 - 0x1b3db413f dyld arm64e <4eb7459fe23738ce82403f3e2e1ce5ab> /usr/lib/dyld
0x0 - 0xffffffffffffffff ??? unknown-arch <00000000000000000000000000000000> ???
0x1df105000 - 0x1df13efe3 libsystem_kernel.dylib arm64e <e3965df1a3a3374a94eaf86739c5cc8e> /usr/lib/system/libsystem_kernel.dylib
0x18c6e1000 - 0x18d411fff Foundation arm64e <7274dde368d634a08e677726e1265e80> /System/Library/Frameworks/Foundation.framework/Foundation
0x2185fc000 - 0x218608ff3 libsystem_pthread.dylib arm64e <b2fe0dfa67de3d7282676c42073e0e8d> /usr/lib/system/libsystem_pthread.dylib
0x1958ce000 - 0x19594dffb libsystem_c.dylib arm64e <8d425c7257c93e54a1e1e243cbdfc446> /usr/lib/system/libsystem_c.dylib
EOF
I can’t view energy reports in the Xcode Organizer. I keep getting the message “An error occurred while downloading energy reports. Please provide a valid value”
Feedback ID: FB16595567
I accidentally added my ContentView for my project into my local Developer Documentation and I cannot get rid of it.
The Edit/delete menu item is dim when my file is selected.
Topic:
Developer Tools & Services
SubTopic:
Xcode
I am trying to setup an extension using DNSProxyProvider that intercepts the DNS traffic on UDP and inserts our custom device identifier and send it to our custom DNS Server which gives us the response which I forward to the requesting client.
I have been able to append the identifier with the domain name when sending out request to our custom DNS and I am getting the response back just fine but when I try to write the response to the udpflow I get this error in Console Logs.
Error Domain=NEAppProxyFlowErrorDomain Code=9 "The datagram was too large" UserInfo={NSLocalizedDescription=The datagram was too large}
Here is what I have tried so far.
Truncating the datagram size to less than 10 bytes.
Sending in dummy Data object while trying to write to the flow.
Double checking the Signing and Capabilities, for Targets, the App and Network Extension.
Attached below is code from my NEDNSProxyProvider. The DNS request is process in the handleNewFlow function which calls processUDPFlow
override func handleNewFlow(_ flow: NEAppProxyFlow) -> Bool {
if flow is NEAppProxyTCPFlow {
NSLog("BDDNSProxyProvider : Is TCP Flow...")
} else if let udpFlow = flow as? NEAppProxyUDPFlow {
NSLog("BDDNSProxyProvider: handleNewFlow : \(udpFlow)")
processUDPFlow(udpFlow) // < --
}
return true
}
In the code below I concatenate domain name in the request with deviceId and send it to our server. Also have the Logs lines in, please ignore them.
// Read incoming DNS packets from the client
self.udpAppProxyFlow = udpFlow
udpFlow.readDatagrams { datagrams, error in
if let error = error {
NSLog("Error reading datagrams: \(error.localizedDescription)")
return
}
guard let datagrams = datagrams else {
NSLog("No datagrams received.")
return
}
// Forward each DNS packet to the custom DNS server
for (index, packet) in datagrams.enumerated() {
let dnsMessage = self.parseDNSMessage(from: packet.0)
NSLog("tDatagram Header: \(dnsMessage.header)")
for question in dnsMessage.questions {
NSLog("tDatagram Question: \(question.name), Type: \(question.type), Class: \(question.klass)")
}
for answer in dnsMessage.answers {
NSLog("tDatagram Answer: \(answer.name), Type: \(answer.type), Data: \(answer.data)")
}
let oldDomain = self.extractDomainName(from: packet.0)!
let packetWithNewDomain = self.replaceDomainName(in: packet.0, with: "827-\(oldDomain)") // func to append device ID
NSLog("Packet's new domain \(self.extractDomainName(from: packetWithNewDomain ?? packet.0) ?? "Found nil")")
self.sendToCustomDNSServer(packetWithNewDomain!) { responseDatagram in
guard let responseDatagram = responseDatagram else {
NSLog("Failed to get a response from the custom DNS server")
return
}
let tDatagram = (responseDatagram, packet.1)
udpFlow.writeDatagrams([tDatagram]) { error in
if let error = error {
NSLog("Failed to write DNS response back to client: \(error)")
} else {
NSLog("Successfully wrote DNS response back to client.")
}
}
}
}
// Continue Reading Datagrams - DO NOT REMOVE!
self.processUDPFlow(udpFlow)
}
}
Following is the function I use to replace domainName
// Ensure the datagram is at least the size of the DNS header
guard datagram.count > 12 else {
NSLog("Error : Invalid datagram: Too small to contain a DNS header")
return nil
}
NSLog("BDLine 193")
// Start reading after the header (12 bytes)
var offset = 12
// Parse the original domain name
while offset < datagram.count {
let length = Int(datagram[offset]) // Get the length of the next label
offset += 1
// Check for the null terminator (end of domain name)
if length == 0 {
// Domain name ends here
break
}
// Validate that the length is within bounds
guard offset + length <= datagram.count else {
NSLog("Error : Invalid datagram: Domain name length exceeds packet size")
return nil
}
// Skip over this label
offset += length
}
Everything is falling into place other than this last Error I get when I try to write back to flow. What am I missing here and how can I resolve this issue?
Any help would be appreciated.
Thanks
I want to release a Framework F, containing several other frameworks (such as Realm, Appetitive, Cocoalumberjack, PhoneNumberKit) for use by app A.
According to this article: https://medium.com/@bittudavis/how-to-create-an-umbrella-framework-in-swift-ca964d0a2345
They write, without referencing a source: "Although Apple discourage creating umbrella framework".
Is that true, do Apple discourage umbrella frameworks, if so why and is it a very strong discourage or a mild one?
If not discouraged, then how can this be achieved with Xcode 16?
I've been attempting to follow a few tutorial to achieve this, such as https://medium.com/john-lewis-software-engineering/adding-a-third-party-framework-inside-a-first-party-framework-in-xcode-3ba58cfd08da
however so far without any success. This last article mentions the Link Binary With Libraries section, which doesn't exist in Xcode 16.
There's the Frameworks, Libraries, and Embedded Content section where I have been attempting to add the frameworks into my Framework F (choosing Embed without Signing).
I'm able to successfully build Framework F, but when app A attempts to use it (adding F to the Frameworks, Libraries, and Embedded Content section with option embed and sign, or embed and don't sign, makes no difference) then I get run time errors about the umbrellaed frameworks not being able to be found.
From last week all crash for watchOS has been broken.
The latest version 15.22.1 missing all stack trace and showing weird as attached.
All the crashes for previous versions totally disappeared.
in xcode 16 I have normal ios18 iphone but for rosetta it is ios17.2 and ios17.5
Topic:
Developer Tools & Services
SubTopic:
Xcode
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.
We have a watchOS app in TestFlight that is currently crashing on any device running watchOS 11 and up.
I have an older Apple Watch SE that's capped at 10.6.1 that can run the app just fine, but the same exact install on a newer device fails.
This started happening after I updated my MacBook to macOS Sequoia and Xcode to 16.
In order to get the Watch app to run on the 10.6.1 device, I had to change the Swift Optimization Level from -O to -Osize. I already filed Feedback on this (FB15691116).
I've tried so many different things and have come up with nothing to show for it.
When I look in the IPS file, I see that the crash point in my code on the watchOS 11 device is at
KinesiaUOnWatch`@objc SessionDelegator.session(_:activationDidCompleteWith:error:):
0x3a3f48 <+0>: sub sp, sp, #0x60
0x3a3f4c <+4>: stp x26, x25, [sp, #0x10]
0x3a3f50 <+8>: stp x24, x23, [sp, #0x20]
0x3a3f54 <+12>: stp x22, x21, [sp, #0x30]
0x3a3f58 <+16>: stp x20, x19, [sp, #0x40]
0x3a3f5c <+20>: stp x29, x30, [sp, #0x50]
0x3a3f60 <+24>: add x29, sp, #0x50
0x3a3f64 <+28>: mov x19, x4
0x3a3f68 <+32>: mov x23, x2
0x3a3f6c <+36>: mov x22, x0
0x3a3f70 <+40>: mov w0, #0x0 ; =0
0x3a3f74 <+44>: bl 0x89818 ; symbol stub for: type metadata accessor for Swift.MainActor
0x3a3f78 <+48>: mov x24, x0
0x3a3f7c <+52>: adrp x25, 161
0x3a3f80 <+56>: ldr w25, [x25, #0x654]
0x3a3f84 <+60>: mov x20, x0
0x3a3f88 <+64>: bl 0x8980c ; symbol stub for: static Swift.MainActor.shared.getter : Swift.MainActor
0x3a3f8c <+68>: mov x21, x0
0x3a3f90 <+72>: adrp x0, 166
0x3a3f94 <+76>: add x0, x0, #0xc40 ; lazy protocol witness table cache variable for type Swift.MainActor and conformance Swift.MainActor : Swift.Actor in Swift
Incident Identifier: 08E2F667-7965-4C86-B85E-9E2F03EAA963
Beta Identifier: AD390666-55CB-43B3-9B14-BD3E70F456EB
Hardware Model: Watch6,1
Process: KinesiaUOnWatch [389]
Path: /private/var/containers/Bundle/Application/B571E983-F2B0-40EF-9F0D-8C471CAEB3FB/KinesiaUOnWatch.app/KinesiaUOnWatch
Identifier: com.glneurotech.kinesiau.watchapp
Version: 5.1.0 (510271)
AppStoreTools: 16B39
AppVariant: 1:Watch6,1:11
Beta: YES
Code Type: ARM64_32 (Native)
Role: Foreground
Parent Process: launchd [1]
Coalition: com.glneurotech.kinesiau.watchapp [464]
Date/Time: 2024-12-03 15:12:51.1876 -0500
Launch Time: 2024-12-03 15:12:50.0000 -0500
OS Version: Watch OS 11.1 (22R585)
Release Type: User
Report Version: 104
Exception Type: EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x0000000000000001, 0x000000002053dd4c
Termination Reason: SIGNAL 5 Trace/BPT trap: 5
Terminating Process: exc handler [389]
But, as I said, this exact app runs just fine on an older watchOS 10.6.1 device.
Has anyone else encountered something like this, or have any ideas on stuff to try?
Topic:
Developer Tools & Services
SubTopic:
Xcode
Tags:
Watch Connectivity
Swift
watchOS
Apple Watch
I had successfully distributed my app months ago and trying same today and get "The archive contains nothing that can be signed. Verify that your build process has compiled binaries and copied in bundled resources." message when I click the "Distribute app" button.
My project is a simple iOS xcode project that I had success in same operation back on Feb 8, 2024, same project code and settings.
Verbose log:
2025-01-22 00:49:43 +0000 [MT] Rejected distribution method <IDEDistributionMethodWatchOSAdHoc: 0x600004700d70> because it doesn't support distributing archive
2025-01-22 00:49:43 +0000 [MT] Rejected distribution method <IDEDistributionMethodWatchOSEnterprise: 0x600004700c30> because it doesn't support distributing archive
2025-01-22 00:49:43 +0000 [MT] Rejected distribution method <IDEDistributionMethodTVOSEnterprise: 0x600004700c90> because it doesn't support distributing archive
2025-01-22 00:49:43 +0000 [MT] Accepted distribution method <IDEDistributionMethodiOSEnterprise: 0x600004700c70>
2025-01-22 00:49:43 +0000 [MT] Accepted distribution method <IDEDistributionMethodDevelopmentSigned: 0x600004700c80>
2025-01-22 00:49:43 +0000 [MT] Rejected distribution method <IDEDistributionMethodTVOSDevelopmentSigned: 0x600004700d30> because it doesn't support distributing archive
2025-01-22 00:49:43 +0000 [MT] Rejected distribution method <IDEDistributionMethodWatchOSDevelopmentSigned: 0x600004700d90> because it doesn't support distributing archive
2025-01-22 00:49:43 +0000 [MT] Rejected distribution method <IDEDistributionMethodDeveloperIDNotarizedApp: 0x600004700d40> because it doesn't support distributing archive
2025-01-22 00:49:43 +0000 [MT] Rejected distribution method <IDEDistributionMethodDeveloperID: 0x600004700cf0> because it doesn't support distributing archive
2025-01-22 00:49:43 +0000 [MT] Rejected distribution method <IDEDistributionMethodSaveBuiltProducts: 0x600004700ca0> because it doesn't support distributing archive
2025-01-22 00:49:43 +0000 [MT] Rejected distribution method <IDEDistributionMethodDevelopmentSignedMac: 0x600004700d60> because it doesn't support distributing archive
2025-01-22 00:49:43 +0000 [MT] Rejected distribution method <IDEDistributionMethodExportArchive: 0x600004700c60> because it doesn't support distributing archive
2025-01-22 00:49:43 +0000 [MT] Rejected distribution method <IDEDistributionMethodMacApplication: 0x600004700d80> because it doesn't support distributing archive
2025-01-22 00:49:45 +0000 Rejected distribution method <IDEDistributionMethodTVOSAppStoreDistribution: 0x600004700cd0> because it doesn't support distributing archive
2025-01-22 00:49:45 +0000 Accepted distribution method <IDEDistributionMethodiOSAppStoreDistribution: 0x600004700d10>
2025-01-22 00:49:45 +0000 Rejected distribution method <IDEDistributionMethodiOSAppStoreValidation: 0x600004700d20> because it doesn't support distributing archive
2025-01-22 00:49:45 +0000 Rejected distribution method <IDEDistributionMethodTVOSAppStoreValidation: 0x600004700cc0> because it doesn't support distributing archive
2025-01-22 00:49:45 +0000 Rejected distribution method <IDEDistributionMethodMacAppStoreDistribution: 0x600004700c40> because it doesn't support distributing archive
2025-01-22 00:49:45 +0000 Rejected distribution method <IDEDistributionMethodMacAppStoreValidation: 0x600004700c50> because it doesn't support distributing archive
2025-01-22 00:49:45 +0000 Rejected distribution method <IDEDistributionMethodInAppPurchaseContentPackage: 0x600004700d50> because it doesn't support distributing archive
2025-01-22 00:49:45 +0000 Rejected distribution method <IDEDistributionMethodMacAdHoc: 0x600004700d00> because it doesn't support distributing archive
2025-01-22 00:49:45 +0000 Accepted distribution method <IDEDistributionMethodiOSAdHoc: 0x600004700cb0>
2025-01-22 00:49:45 +0000 Rejected distribution method <IDEDistributionMethodTVOSAdHoc: 0x600004700ce0> because it doesn't support distributing archive
2025-01-22 00:49:45 +0000 Rejected distribution method <IDEDistributionMethodWatchOSAdHoc: 0x600004700d70> because it doesn't support distributing archive
2025-01-22 00:49:45 +0000 Rejected distribution method <IDEDistributionMethodWatchOSEnterprise: 0x600004700c30> because it doesn't support distributing archive
2025-01-22 00:49:45 +0000 Rejected distribution method <IDEDistributionMethodTVOSEnterprise: 0x600004700c90> because it doesn't support distributing archive
2025-01-22 00:49:45 +0000 Accepted distribution method <IDEDistributionMethodiOSEnterprise: 0x600004700c70>
2025-01-22 00:49:45 +0000 Accepted distribution method <IDEDistributionMethodDevelopmentSigned: 0x600004700c80>
2025-01-22 00:49:45 +0000 Rejected distribution method <IDEDistributionMethodTVOSDevelopmentSigned: 0x600004700d30> because it doesn't support distributing archive
2025-01-22 00:49:45 +0000 Rejected distribution method <IDEDistributionMethodWatchOSDevelopmentSigned: 0x600004700d90> because it doesn't support distributing archive
2025-01-22 00:49:45 +0000 Rejected distribution method <IDEDistributionMethodDeveloperIDNotarizedApp: 0x600004700d40> because it doesn't support distributing archive
2025-01-22 00:49:45 +0000 Rejected distribution method <IDEDistributionMethodDeveloperID: 0x600004700cf0> because it doesn't support distributing archive
2025-01-22 00:49:45 +0000 Rejected distribution method <IDEDistributionMethodSaveBuiltProducts: 0x600004700ca0> because it doesn't support distributing archive
2025-01-22 00:49:45 +0000 Rejected distribution method <IDEDistributionMethodDevelopmentSignedMac: 0x600004700d60> because it doesn't support distributing archive
2025-01-22 00:49:45 +0000 Rejected distribution method <IDEDistributionMethodExportArchive: 0x600004700c60> because it doesn't support distributing archive
2025-01-22 00:49:45 +0000 Rejected distribution method <IDEDistributionMethodMacApplication: 0x600004700d80> because it doesn't support distributing archive
2025-01-22 00:49:45 +0000 Available distribution methods: {(
<IDEDistributionMethodiOSAppStoreDistribution: 0x600004700d10>,
<IDEDistributionMethodiOSAdHoc: 0x600004700cb0>,
<IDEDistributionMethodiOSEnterprise: 0x600004700c70>,
<IDEDistributionMethodDevelopmentSigned: 0x600004700c80>
)}
2025-01-22 00:49:45 +0000 Step failed: <IDEDistributionAnalyzeArchiveStep: 0x6000084ddd40>: Error Domain=IDEDistributionErrorDomain Code=5 "The archive contains nothing that can be signed." UserInfo={NSLocalizedDescription=The archive contains nothing that can be signed., NSLocalizedRecoverySuggestion=Verify that your build process has compiled binaries and copied in bundled resources.}
Topic:
Developer Tools & Services
SubTopic:
Xcode
Hi,
I am in the last step "preparing for submission" and everything excepts "age rating" is fine. How can I fix this?
I have two apps and on neither i can edit "age rating" :(
Why are asynchronous tasks not executed in Xcode Canvas, and why do they only work in the simulator?
Hi everyone, I'm new to Xcode and iOS development. I've encountered an issue where asynchronous tasks seem to not execute in Xcode Canvas, but they work fine in the simulator. Can anyone explain why this might be happening or what I could do to fix it? Thank you for your help!
struct PartnerProfileView: View {
@State private var showSheet: Bool = true
let partnerName: String
var body: some View {
ZStack(alignment: .bottom) {
Color("EFEFF4_0F2534")
ScrollView(showsIndicators: false) {
headerSection()
infoSection()
.padding(.bottom, 5)
sectionTitle("Other Skills")
skillsGrid()
sectionTitle("···")
dynamicsSection()
}
.frame(maxWidth: .infinity, maxHeight: .infinity)
CustomTabBar()
}
.navigationBarHidden(true)
.ignoresSafeArea(edges: .all)
.onAppear {
print("PartnerProfileView received")
Task {
await BottomCustomPopup().present()
}
}
.onChange(of: showSheet) { oldState, newValue in
print("oldState \(oldState)")
print("newValue \(newValue)")
}
}
}
//@MainActor
struct BottomCustomPopup: BottomPopup {
var body: some View {
HStack(spacing: 0) {
Text("Hello World")
Spacer()
Button(action: { Task { await dismissLastPopup() }}) { Text("Dismiss") }
}
.padding(.vertical, 20)
.padding(.leading, 24)
.padding(.trailing, 16)
}
}