Post

Replies

Boosts

Views

Activity

What is BUNDLE_EXECUTABLE_FOLDER_PATH?
What is BUNDLE_EXECUTABLE_FOLDER_PATH? I came across this in a freshly-created iOS project (Xcode 14.2). In the unit tests target it created, it set TEST_HOST to $(BUILT_PRODUCTS_DIR)/MyApp.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/MyApp As far as I can tell, nothing sets BUNDLE_EXECUTABLE_FOLDER_PATH, and I can’t find it in any of the existing Xcode build settings. It's not set for Run Scripts, either, although these are close (and yes, this is an iOS project, not sure why one is MacOS): export BUNDLE_EXECUTABLE_FOLDER_NAME_deep\=MacOS export BUNDLE_EXTENSIONS_FOLDER_PATH\=Extensions A project I created several years ago does not have the TEST_HOST predefined that way.
1
0
1.1k
Jan ’23
building for macOS-x86_64 but attempting to link with file built for macOS-arm64 on M1 Mac with "build for active arch only" set
I'm not sure why, but it seems my Xcode project is trying to build for x86 (on my M1 Mac), even though both Debug and Release configurations have ONLY_ACTIVE_ARCH = YES. It's clearly trying to build for x86, as evidenced by the -target x86_64-apple-macos13.0 in the invocation. But I can't figure out why. The full link stage output: Ld /Users/me/Library/Developer/Xcode/DerivedData/MyProject-fbzxsemlztqkmsgdutlriortdmmd/Build/Products/Debug/MyProject.app/Contents/MacOS/MyProject normal (in target 'MyProject' from project 'MyProject')     cd /Users/me/Projects/MyProject     /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -target x86_64-apple-macos13.0 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.0.sdk -L/Users/me/Library/Developer/Xcode/DerivedData/MyProject-fbzxsemlztqkmsgdutlriortdmmd/Build/Intermediates.noindex/EagerLinkingTBDs -L/Users/me/Library/Developer/Xcode/DerivedData/MyProject-fbzxsemlztqkmsgdutlriortdmmd/Build/Products/Debug -L/opt/homebrew/opt/llvm/lib -F/Users/me/Library/Developer/Xcode/DerivedData/MyProject-fbzxsemlztqkmsgdutlriortdmmd/Build/Intermediates.noindex/EagerLinkingTBDs -F/Users/me/Library/Developer/Xcode/DerivedData/MyProject-fbzxsemlztqkmsgdutlriortdmmd/Build/Products/Debug -filelist /Users/me/Library/Developer/Xcode/DerivedData/MyProject-fbzxsemlztqkmsgdutlriortdmmd/Build/Intermediates.noindex/MyProject.build/Debug/MyProject.build/Objects-normal/x86_64/MyProject.LinkFileList -dead_strip -Xlinker -object_path_lto -Xlinker /Users/me/Library/Developer/Xcode/DerivedData/MyProject-fbzxsemlztqkmsgdutlriortdmmd/Build/Intermediates.noindex/MyProject.build/Debug/MyProject.build/Objects-normal/x86_64/MyProject_lto.o -Xlinker -export_dynamic -Xlinker -no_deduplicate -fobjc-arc -fobjc-link-runtime -framework Cocoa -lcurses -lLLVMAnalysis -lLLVMBitReader -lLLVMCodeGen -lLLVMCore -lLLVMExecutionEngine -lLLVMMC -lLLVMObject -lLLVMRuntimeDyld -lLLVMScalarOpts -lLLVMSelectionDAG -lLLVMSupport -lLLVMTarget -lLLVMTransformUtils -lLLVMX86CodeGen -lLLVMX86Desc -lLLVMX86Info -lz -Xlinker -no_adhoc_codesign -Xlinker -dependency_info -Xlinker /Users/me/Library/Developer/Xcode/DerivedData/MyProject-fbzxsemlztqkmsgdutlriortdmmd/Build/Intermediates.noindex/MyProject.build/Debug/MyProject.build/Objects-normal/x86_64/MyProject_dependency_info.dat -o /Users/me/Library/Developer/Xcode/DerivedData/MyProject-fbzxsemlztqkmsgdutlriortdmmd/Build/Products/Debug/MyProject.app/Contents/MacOS/MyProject ld: warning: ignoring file /opt/homebrew/opt/llvm/lib/libLLVMAnalysis.a, building for macOS-x86_64 but attempting to link with file built for macOS-arm64 ld: warning: ignoring file /opt/homebrew/opt/llvm/lib/libLLVMBitReader.a, building for macOS-x86_64 but attempting to link with file built for macOS-arm64 ld: warning: ignoring file /opt/homebrew/opt/llvm/lib/libLLVMCore.a, building for macOS-x86_64 but attempting to link with file built for macOS-arm64 ld: warning: ignoring file /opt/homebrew/opt/llvm/lib/libLLVMExecutionEngine.a, building for macOS-x86_64 but attempting to link with file built for macOS-arm64 ld: warning: ignoring file /opt/homebrew/opt/llvm/lib/libLLVMCodeGen.a, building for macOS-x86_64 but attempting to link with file built for macOS-arm64 ld: warning: ignoring file /opt/homebrew/opt/llvm/lib/libLLVMMC.a, building for macOS-x86_64 but attempting to link with file built for macOS-arm64 ld: warning: ignoring file /opt/homebrew/opt/llvm/lib/libLLVMRuntimeDyld.a, building for macOS-x86_64 but attempting to link with file built for macOS-arm64 ld: warning: ignoring file /opt/homebrew/opt/llvm/lib/libLLVMObject.a, building for macOS-x86_64 but attempting to link with file built for macOS-arm64 ld: warning: ignoring file /opt/homebrew/opt/llvm/lib/libLLVMX86Info.a, building for macOS-x86_64 but attempting to link with file built for macOS-arm64 ld: warning: ignoring file /opt/homebrew/opt/llvm/lib/libLLVMTarget.a, building for macOS-x86_64 but attempting to link with file built for macOS-arm64 ld: warning: ignoring file /opt/homebrew/opt/llvm/lib/libLLVMSupport.a, building for macOS-x86_64 but attempting to link with file built for macOS-arm64 ld: warning: ignoring file /opt/homebrew/opt/llvm/lib/libLLVMScalarOpts.a, building for macOS-x86_64 but attempting to link with file built for macOS-arm64 ld: warning: ignoring file /opt/homebrew/opt/llvm/lib/libLLVMSelectionDAG.a, building for macOS-x86_64 but attempting to link with file built for macOS-arm64 ld: warning: ignoring file /opt/homebrew/opt/llvm/lib/libLLVMTransformUtils.a, building for macOS-x86_64 but attempting to link with file built for macOS-arm64 ld: warning: ignoring file /opt/homebrew/opt/llvm/lib/libLLVMX86CodeGen.a, building for macOS-x86_64 but attempting to link with file built for macOS-arm64 ld: warning: ignoring file /opt/homebrew/opt/llvm/lib/libLLVMX86Desc.a, building for macOS-x86_64 but attempting to link with file built for macOS-arm64 ld: in '/opt/homebrew/opt/llvm/lib/libunwind.dylib', building for macOS-x86_64 but attempting to link with file built for macOS-arm64 clang: error: linker command failed with exit code 1 (use -v to see invocation) If I change the ARCHS to just arm64, then it builds fine.
1
0
2.9k
Nov ’22
SCNSceneRendererDelegate example in SwiftUI?
I've got a Game @StateObject in my app that's passed to my main ContentView. I'm trying to figure out how best create a SCNSceneRendererDelegate instance that has a reference to the Game state, and then pass that to the SceneView inside my ContentView. I'm trying to do it like this, but obviously this doesn't work because self isn't available at init time: struct ContentView : View { let game : Game var scene = SCNScene(named: "art.scnassets/ship.scn") var cameraNode : SCNNode? { self.scene?.rootNode.childNode(withName: "camera", recursively: false) } var rendererDelegate = RendererDelegate(game: self.game) // Cannot find 'self' in scope var body: some View { SceneView(scene: self.scene, pointOfView: self.cameraNode, delegate: self.rendererDelegate) } } The intent is that in my renderer delegate, I'll update my game's simulation state. Because my game state is an ObservableObject, everything else (I have a bunch of SwiftUI) should update.
1
0
626
Sep ’22
Configuring a LaunchDaemon for a server process
I've developed a specialized web server in Swift using Vapor. I want to set it up to run reliably on macOS using a LaunchDaemon. It should start at boot and be restarted if it crashes. I'm having trouble finding a good guide to the latest flavor of launchctl, and how to use system domains. This is my plist: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Debug</key> <true/> <key>Label</key> <string>com.latencyzero.FurnaceController</string> <key>Program</key> <string>/Users/rmann/Desktop/Run</string> <key>ProgramArguments</key> <array> <string>serve</string> <string>--hostname</string> <string>0.0.0.0</string> <string>--port</string> <string>80</string> </array> <key>KeepAlive</key> <true/> <key>Listeners</key> <dict> <key>SockServiceName</key> <string>http</string> <key>SockType</key> <string>tcp</string> <key>SockFamily</key> <string>IPv4</string> </dict> </dict> </plist> And I'm trying to invoke it like this: $ sudo enable system/com.latencyzero.FurnaceController But nothing happens. If I try kickstart, I get an error: $ sudo launchctl kickstart -p system/com.latencyzero.FurnaceController Could not find service "com.latencyzero.FurnaceController" in domain for system $ sudo launchctl kickstart -p uid/501/com.latencyzero.FurnaceController Unrecognized target specifier. Usage: launchctl kickstart [-k] [-p] <service-target>         -k      Terminates the service if it is already running.         -p      Prints the PID of the service that was started.         -s      Starts the service suspended so that a debugger may attach. <service-target> takes a form of <domain-target>/<service-id>. Please refer to `man launchctl` for explanation of the <domain-target> specifiers. Bootstrap also doesn't work as I'd expect: $ sudo launchctl bootstrap system/com.latencyzero.FurnaceController Usage: launchctl bootstrap <domain-target> [service-path, service-path2, ...] <service-target> takes a form of <domain-target>/<service-id>. Please refer to `man launchctl` for explanation of the <domain-target> specifiers. The plist is in /Library/LaunchDaemons/com.latencyzero.FurnaceController.plist I'd rather not have to launch this in a user domain, as I'm handing this app off to my client, and the fewer customization needed, the better.
1
0
1.4k
Aug ’22
Getting the current queue and thread name?
The Xcode console logs an identifier indicating the current thread that's running when a message is print()ed from Swift. Some more complex logging systems (e.g. swift-log and console-kit) don't provide that information, and I'm trying to write a logging back-end for swift-log that will. Thing is, I don't see any way to get the current queue name in Swift. I tried dispatch_queue_get_label(DISPATCH_CURRENT_QUEUE_LABEL) But I get "cannot convert value of type '()' to expected argument type 'DispatchQueue?'". Passing nil instead results in "'dispatch_queue_get_label' has been replaced by property 'DispatchQueue.label'". This is not an unreasonable thing to want to do, and it poses no safety concerns.
4
0
4.9k
Feb ’22
How to be a web browser on macOS?
Is there a way I can set my own app to be the default web browser on macOS? The System Preferences->General UI for choosing the default web browser doesn't have an obvious way to set an arbitrary app. Is there a way to configure my app so that macOS recognizes it as an option for this list?
0
1
391
Jan ’22
altool failed upload with Error: Unable to authenticate. (-19209)
altool seemed to be working correctly, but then failed after upload finished: $ xcrun altool --upload-package ../exports/OurApp.ipa --type ios --apple-id <apple-id> --bundle-id <bundle-id> --bundle-version 291 --bundle-short-version-string "3.1.5" --apiKey <api-key> --apiIssuer <issuer> --show-progress Getting list of providers... Beginning delivery... Analyzing package… Requesting app information… Requesting asset description upload id… Sending analysis to the App Store… Waiting for response… Requesting upload instructions from the App Store… Preparing to upload package to the App Store… Uploading package to the App Store… **status code 401, auth issue. *** Error: *** status code 401, auth issue. *** Error: Error uploading '../exports/OurApp.ipa'. *** Error: Unable to authenticate. (-19209) Note that --list-providers seems to work just fine with the same credentials: $ xcrun altool --list-providers --apiKey <key> --apiIssuer <issuer> Getting list of providers... ProviderName ProviderShortname PublicID WWDRTeamID ------------ ----------------- ------------------------------------ ---------- Whatnot Inc. <redacted> <redacted> <redacted> @eskimo?
7
0
3.1k
Jan ’22
Any way to prevent macOS from repositioning my window?
My app has a utility window that can live anywhere on screen, including over the menu bar, or in the top region of a screen with a notch when the main screen is not the built-in display. If I drag the window into these areas, it sits there just fine. I have drag handlers in a subclass of NSWindow that call -setFrame: (yeah, this is Obj-C code). If the screen gets reconfigured, my code tries to remember where the window was, and calls -setFrame: to put it back there. But in this case, macOS moves my window down out of the menu bar/notch area at the top of the screen. Is there any way to prevent this behavior?
1
0
592
Jan ’22
Xcode 13 can't fails to prepare device for development after iOS 14.7.1 update
Has anyone else run into this and found a workaround? Xcode 13b1, 3, and 4 are unable to prepare my device for development after I updated it today to 14.7.1. Xcode 12.5.1 is able to. After churning for several minutes, it always ends up saying Failed to prepare device for development. I've rebooted the device and my Mac a few times each now. There's at least one other report of this issue: https://stackoverflow.com/questions/68549513/xcode-doesn-t-support-phone-s-ios-14-7-1
3
0
5.2k
Jul ’21
AppStoreConnect app icon won't show
I recently created a new app record in AppStoreConnect. The app is still in development and testing, so we use this for TestFlight builds. The app has a complete app icon internally, and shows up in the Simulator and devices correctly. But in AppStoreConnect, it shows the generic app icon placeholder. I contacted Apple support about this, and they told me I needed to include the app icon in the app. I told them I already do, and showed them the screenshots. They basically said sorry, not my problem, try the dev forums. So here I am.
0
0
617
Jun ’21