Posts

Post not yet marked as solved
1 Replies
267 Views
Universal Control works to share keyboard and mouse from one mac to another, but actually switching seems to require physically moving the mouse to the other display. Ideally, I'd like Apple to support some command available via command-key equivalents to cycle to other devices in the way that we can cycle through applications or windows. Seeking to program that directly, I was unable to find any Universal Control API's on point. Are there any? I can imagine restricted this to the OS only for security. In case there are display-driven API's, I see that system settings/displays shows all the displays from all devices, but I was unable to find a UI or API's to change focus to another display (other than moving the mouse to select the display). When I list displays programmatically, I only see the device-local displays. In case there are device-driven APIs: I can initialize a bluetooth session and secure credentials, but interaction seems to be unavailable.
Posted
by pde5i.
Last updated
.
Post not yet marked as solved
0 Replies
271 Views
When I call either of VZVirtualMachineConfiguration.validateSaveRestoreSupport(..) VZVirtualMachine.saveMachineStateTo(URL) I get the error: NSLocalizedFailure=Invalid virtual machine configuration. NSLocalizedFailureReason=Unsupported graphics device in configuration For Linux there seems to be only vanilla size configuration (at least 1 scanout is required): let graphicsDevice = VZVirtioGraphicsDeviceConfiguration() graphicsDevice.scanouts = [ VZVirtioGraphicsScanoutConfiguration(widthInPixels: 1920, heightInPixels: 1080) ] I've tried valid sizes and aspect ratios. I've otherwise removed console and audio devices provoking similar errors, but I can't find an acceptable graphics configuration. I believe it should work because my code is substantially similar to the open-source tart application that supports suspend. I'm running Sonoma 14.2.1 on an M1 Studio with an HP24mh external monitor via a third-party HDMI/USB-C adapter. I see nothing in the Console (except some ...wakeups_resource.diag common to other applications). So I'm looking for help with How to get more information for this failure How to configure suspendable/resumable devices: graphics for sure, but also console, audio, keyboard, etc. Thanks! GUI Linux guest: https://developer.apple.com/documentation/virtualization/running_gui_linux_in_a_virtual_machine_on_a_mac macos guest: https://developer.apple.com/documentation/virtualization/running_macos_in_a_virtual_machine_on_apple_silicon wwdc-2022: https://developer.apple.com/videos/play/wwdc2022/10002/ wwdc-2023: https://developer.apple.com/videos/play/wwdc2023/10007/
Posted
by pde5i.
Last updated
.
Post marked as solved
1 Replies
531 Views
I have variants of MacOS installed on external SSD's (using APFS) that I no longer need, mixed with large data sets that I do need. I'd like to wipe the OS on a volume without erasing the whole volume, to avoid the hours-long data copy/archive before wiping the volume to wipe the OS. Is that possible? Moving forward, I can try to segregate data to other volumes, but the production deployment is OS and data on the same volume (again, to avoid copies), so it's not ideal. (I realize it's not a high-traffic use case and unlikely to be supported.) Thanks...
Posted
by pde5i.
Last updated
.
Post marked as solved
2 Replies
519 Views
Is the keychain per-machine or per machine-OS-Xcode combination, for purposes of Xcode developer certificates? I'm dual-booting my M1Max studio with Ventura and Sonoma on external drives, each at times running both Xcode-released and Xcode-beta (on Ventura+beta just for swift 5.9). After switching, with automatic code signing Xcode complains there's no certificate and wants to revoke it and create another. I do, but I'd like to avoid that. I seem to now have 4 developer signing certificates. Is there any way to avoid this, e.g., somehow selecting the certificate Xcode uses? I'm suspecting not, and that the keychain access is per-application-certificate but XCode is using a key common to any Xcode, so I'm essentially hashing all 4 scenarios into one slot, with each collision requiring revoke+recreate. Documentation pointers welcome. (Search function not working on forums?) XCode enforcing only one certificate per machine? revokes one from last boot So unable to switch from Ventura to Sonoma
Posted
by pde5i.
Last updated
.
Post marked as solved
2 Replies
1.1k Views
The Sonoma beta download seems to be Apple-Silicon only, though 2018 mini is among the supported machines. Can I run Sonoma on x86 (2018 mini 32GB)? Via Apple's Virtualization API's rather than a boot partition? I didn't see a link to a restore image. (Also, would someone please add a forum tags for Sonoma?)
Posted
by pde5i.
Last updated
.
Post not yet marked as solved
0 Replies
456 Views
Would someone please verify my understanding of the security capabilities/limitations for an app targeting iOS and macCatalyst (and perhaps macOS)? Our app must have documents encrypted on disk (for a given user+device), and decrypted only in the context of the app. We also must have a way to recover documents after device failure, and to securely send documents from one user to another user. The document-recovery requirement seems to rule out storing keys in the secure enclave, and to rule in the use of iCloud keychain (or some trusted key repository that I'd hate to have to build). For the requirement to decrypt in the app only, we're relying on the keychain API only providing the key to our app. However, the Keychain user application seems to permit any (admin?) user to read passwords. If we needed to deter or prevent a malicious user from hacking the documents outside the app, what's the recommendation: conceal the salt? use a composite key? (We'd encrypt the key with a secure-enclave key, except that fails the recovery requirement.) For sending documents from one user to another, we're planning to use public-key exchange to encrypt during transmission. That means we need to arrange a separate out-of-band communication for both public keys. For that we're assuming that we can send securely through iMessage (with user confirmation to send, and an iMessage extension on receive to drive the app), using iMessage guarantees that the message cannot be intercepted. So: Sender offers to send doc (with PK). Receiver stores sender PK, replies with PK. Sender sends doc Receiver receives, decrypts using Sender PK Presumably we could save PK's on both ends to skip steps 1-2 for subsequent shares. Our documents are small now (<10K), so in theory we could use iMessage for step 3-4, but I'd prefer some non-interactive file-based transmission mechanism for user-to-user (outside bluetooth range (not multipeer), no exchange server available.) Is there a better option? Ideally, I'd be able to share with other app users where I had PK's using the share interface instead of iMessage interface, but I would prefer to prohibit any other consumers. (An interaction-time tailscale-style local network connection was our first choice.) Pointers to docs or sample code most welcome! Thanks
Posted
by pde5i.
Last updated
.
Post marked as solved
1 Replies
1.2k Views
I'm unable to find dyld_info (formerly dyldinfo) in the expected Xcode/Command-line tools. I understand from an 8/12/22 commit message in the swift source tree (which uses it) that dyldinfo was to be renamed to dyld_info per rdar://98570807. I have current XCode 14.0.1 (14A400) and updated command-line tools, but I can't find dyldinfo or dyld_info anywhere. I do find all the other tools mentioned in the docs, so I don't have other reasons to think my install is bad. (I'm on x86_64.) Where is dyld_info normally installed? Can anyone verify it came with the latest XCode? Is there a workaround for me to obtain it? Thanks!
Posted
by pde5i.
Last updated
.
Post marked as solved
1 Replies
4.9k Views
Hi - I'm blocked by a spurious error in XCode I can't shake, in an iOS/Catalyst app project in swift with swift packages. The target has an iOS deployment version of 14.1, but XCode UI behaves like the target is set to 13.0: The package product 'LIB' requires minimum platform version 14.0 for the iOS platform, but this target supports 13.0 The command line builds fine: xcodebuild -configuration Release -scheme 'Study (iOS)' # (also Debug config) I'm sure I must be missing some configuration, but I have set the iOS/catalyst deployment version > 14 in project and target. To confirm: I'm using the same target scheme in XCode UI as the command-line build I fail in the UI using any relevant target devices (i.e., over iOS 14, mac catalyst or ipad) The project selector clearly shows target 14.1 (project/Deployment target/iOS deployment target) The project/target UI clearly shows deployment target 14.1 (project view, 'Study (iOS)' target, iOS Deployment Target) Same result when using version 15.0 instead of 14.1 Same result when disabling catalyst support and targeting iPad Same result with or without a derived mac catalyst product bundle identifier Same result for macOS targets 11..12.4 14.0 = macOS 11.0 15.0 = 12.0 Same result after creating a new run scheme. Scanning all files in the project confirms these settings and does not show a relevant 13 e.g., in "IPHONEOS_DEPLOYMENT_TARGET[sdk=macosx*]" and IPHONEOS_DEPLOYMENT_TARGET I'm running macOS 12.4, XCode 13.4 (13F17a), default 5.6 toolchain, with packages declaring 5.6 toolchain No external xcconfig files In the XCode UI, I've done clean builds and reset the package cache I've deleted XCode's Derived Data and restarted mac I'm also developing packages (and have cleaned .build and .swiftpm directories) but app package dependencies are pulling from remote repository (i.e., not using local packages) So: Any clue as to why XCode believes the target is 13 and not 14.1? How I can debug this? Is there some way XCode can indicate the target triplet and SDK and how it is derived? Is the next step to recreate the project? Thanks!
Posted
by pde5i.
Last updated
.
Post marked as solved
3 Replies
1.3k Views
How to integrate native Java backend with macOS catalyst app UI? My UI is SwiftUI/macCatalyst, using entitlements for voice recognition and microphone. My back-end is from a large legacy Java code base rendered to native x86_64 binary. For now they interface via stdio streams established by the native java command launching the UI app. This works fine when the Java code runs on a JDK. When native backend launches the UI app, the UI app fails to secure permissions (but otherwise works fine) Same result when the backend is bundled with the app as if a command-line tool Solution constraints: Unlike the sample app/docs that integrate a command-line tool into an app, this binary cannot be built using XCode's Clang I'd like to continue using macCatalyst, knowing this can't be deployed to iOS proper, only to macOS. I can make the UI launch the backend, but don't want to do this without some assurance it would fix things :) I'd rather not work through the calling conventions/wrappers to staticly link these binaries now. Assuming the parent process needs the app entitlements, I tried: To embed the java binary into the SwiftUI app?: Following instructions for embedding a command-line app did not configure the backend binary with the entitlements? Deploy the java binary standalone as an app with the proper entitlements? Similar to above: unable to figure out how Pointers to docs welcome. I've seen Embedding Nonstandard Code Structures in a Bundle Embedding a command-line tool in a sandboxed app Ideally I'd like to know how to deliver an app whose binary is entirely build using Java native (including proper entitle/sign/credential/notorize/sandbox...) Thanks!
Posted
by pde5i.
Last updated
.