Search results for

“eskimo”

38,266 results found

Post

Replies

Boosts

Views

Activity

Reply to Application translocation
To start, you can find a bunch of backstory in App Translocation Notes. On Apple platforms, we use the term app to refer to a GUI program that a user launches by double clicking in the Finder (or tapping on the Home Screen, or whatever). Apps are structured as a bundle, that is, a directory ending in .app with a very specific internal structure. You can learn more about that structure in Placing content in a bundle. If an app needs to access internal resources, it does so using the NSBundle API (Bundle in Swift). For example, if your code wants to reference an image called my-image.png, you’d add it to the app’s bundle like so: % find Test852702.app Test852702.app Test852702.app/Contents Test852702.app/Contents/MacOS Test852702.app/Contents/MacOS/Test852702 Test852702.app/Contents/Resources Test852702.app/Contents/Resources/my-image.png Test852702.app/Contents/Info.plist …and then find it with this code: let u = Bundle.main.url(forResource: my-image, withExtension: png)!where u is a file URL that points to Te
Topic: App & System Services SubTopic: Core OS Tags:
4d
Reply to App launches fail after App Store update: dyld "could not register fairplay decryption, mremap_encrypted() => -1" on the first embedded framework; reinstall fixes it (FB24755993)
Interesting. Thanks for closing the loop here. @AveD, I’m curious to know if yyy07’s explanation matches your experience? Share and Enjoy—Quinn “The Eskimo!” @ Developer Technical Support @ Applelet myEmail = eskimo + 1 + @ + apple.com
5d
Reply to Ventura: NWConnection returns server error in waiting state instead of failed state
Thanks for sharing this technique. I agree that it’s a useful approach, but I do want to speak to this: [quote='910805022, mcmizzle, /thread/719427?answerId=910805022#910805022, /profile/mcmizzle'] It is not accurate for an error where a host has already answered you. [/quote] Well, it can be. There are many cases where you can get an error that seems terminal, to use your term, but isn’t really. For example, a firewall associated with the current network might choose to trigger a ECONNREFUSED error when it blocks the connection, and in that case the .waiting(_:) state makes some degree of sense because the connection will go through if the user moves to a different network. So, my take on this is that your overall technique is valid, but folks should tune their definition of a terminal error to match the specifics of their app. Oh, and just FYI, I looked at the state of FB11787066 and it remains unresolved. Share and Enjoy—Quinn “The Eskimo!” @ Developer Technical Support @ Applelet myEmail = eskimo
Topic: App & System Services SubTopic: Core OS Tags:
5d
Reply to Captive Network Assistant not presented after joining Wi-Fi via Camera QR code until Settings > Wi-Fi is opened
Thanks for that confirmation. I’d like to come back to tihs: [quote='852321021, hlmdprm, /thread/852321, /profile/hlmdprm'] Environment: iOS 18.7, iPhone 15 Pro max [/quote] Is does this only affect iOS 18? Or are you seeing it on more moderne versions? Share and Enjoy—Quinn “The Eskimo!” @ Developer Technical Support @ Applelet myEmail = eskimo + 1 + @ + apple.com
5d
Reply to macOS: Reliable custody of a sandboxed worker if its controller dies during spawn
[quote='910667022, vm_install_notes, /thread/852113?answerId=910667022#910667022, /profile/vm_install_notes'] Completion after controller loss … I would not treat PID/PGID disappearance … as proof. [/quote] I don’t understand this. If you know the work was being done by a specific process and you know that process has terminated, what other guarantees are you looking for? [quote='910667022, vm_install_notes, /thread/852113?answerId=910667022#910667022, /profile/vm_install_notes'] including when the controller died before recording its identity? [/quote] You can avoid that concern by having the controller spawn the worker in the suspended state, the record the audit token, then resume the worker. If controller dies before it records the worker’s audit token, the worker will never run. [quote='910667022, vm_install_notes, /thread/852113?answerId=910667022#910667022, /profile/vm_install_notes'] A living but hung controller Does macOS 15.6 offer an OS-managed liveness or lease mechanism that can initiate terminat
5d
Reply to AccessoryAccess in a sandboxed helper: IOUSBHostInterface fails without a temporary-exception entitlement. Is there a supported way?
[quote='910803022, rbmanian75, /thread/851767?answerId=910803022#910803022, /profile/rbmanian75'] New problem [/quote] If you want to discuss that, I recommend that you start a new thread for it. I’d rather we focus this thread on the ‘interacting with an accessory from a child helper process’. Apropos that, earlier I wrote: [quote='910423022, DTS Engineer, /thread/851767?answerId=910423022#910423022'] That’s a bit of a worry given that the method’s return return type is xpc_object_t. [/quote] I confirmed with the Accessory Access folks that you can rely on this value being an XPC data object, so my concerns we unfounded. Cool. [quote='910803022, rbmanian75, /thread/851767?answerId=910803022#910803022, /profile/rbmanian75'] We still use the legacy IOUSBLib interface API. [/quote] I’m glad you got it working, but the fact that you had to use the legacy interface is less than ideal. I’d appreciate you filing a bug about that. Please post your bug number, just for the record. Share and Enjoy—Quinn “The Eskimo
Topic: App & System Services SubTopic: Core OS Tags:
5d
Reply to Supported receiver-confinement guarantee for anonymous XPC connections on macOS 27.0.1
[quote='910755022, sevenislove, /thread/851314?answerId=910755022#910755022, /profile/sevenislove'] is there a supported public mechanism that binds protected delivery to the authenticated receiver process occurrence … ? [/quote] No. And even if there were, there’s no way to stop the receiver from passing the contents of the message to a difference process. If you want to do that sort of thing, you have to prevent the receiver from setting up any IPC channels to untrusted processes. Share and Enjoy—Quinn “The Eskimo!” @ Developer Technical Support @ Applelet myEmail = eskimo + 1 + @ + apple.com
5d
Reply to How do I get the elements of NSArray
The issue here is that -matchesInString:… returns an array of NSTextCheckingResult objects and you’re getting the range property from that array as a whole, using -valueForKey:, rather than from each element of the array. When you do that, the NSRange struct gets boxed inside an NSValue, and hence the confusion. I recommend that you iterate over the NSTextCheckingResult objects themselves. You can then fetch the range property and convert that to a record: use framework Foundation set s to current application's NSString's stringWithString:Hello Cruel World! set re to current application's NSRegularExpression's alloc's initWithPattern: options:0 |error|:(missing value) set matches to re's matchesInString:s options:0 range:{0, s's |length|} set matchCount to count of matches -- -> 2 set match to matches's objectAtIndex:1 set rv to match's range rv's rangeValue as record -- -> {location:11, |length|:1}Share and Enjoy—Quinn “The Eskimo!” @ Developer Technical Support @ Applelet myEmail = eskimo
Topic: Programming Languages SubTopic: General Tags:
5d
Reply to Title: Hypervisor.framework — vCPU cessation guarantee after VM-owning process termination
I think you’ve misunderstood how Hypervisor framework works. When a thread calls hv_vcpu_run, it’s that thread that’s running the guest. So your question is equivalent to: When I’m notified of a process exiting, are any of its threads still running? and you already know the answer to that. Share and Enjoy—Quinn “The Eskimo!” @ Developer Technical Support @ Applelet myEmail = eskimo + 1 + @ + apple.com
Topic: App & System Services SubTopic: Core OS Tags:
5d
Reply to Web Browser Public Key Credential entitlement "issued" but still Submitted on App ID (macOS browser)
I think there’s been some confusion in that support case. Your team has the Default Web Browser capability but not the macOS Web Browser Public Key Credential. The request you mentioned, A9LNZMTCS4, is still pending. I recommend that you continue to follow up via that support case. Share and Enjoy—Quinn “The Eskimo!” @ Developer Technical Support @ Applelet myEmail = eskimo + 1 + @ + apple.com
Topic: Safari & Web SubTopic: General Tags:
5d
Reply to Title: Supported OS-enforced restriction of Keychain access while retaining App Sandbox and App Group UDS
You wrote: [quote='852366021, AT23, /thread/852366, /profile/AT23'] One application also launches a child that inherits its sandbox and an existing socket descriptor. [/quote] and: [quote='852366021, AT23, /thread/852366, /profile/AT23'] Is there a documented, supported OS policy that preserves this IPC arrangement while preventing the test processes [/quote] [my emphasis] So am I to assume the child process in the first quote is the test process in the second? Share and Enjoy—Quinn “The Eskimo!” @ Developer Technical Support @ Applelet myEmail = eskimo + 1 + @ + apple.com
5d
Reply to First-ever Developer ID notarization stuck “In Progress” for 3+ days
You can expect that most uploads will be notarised quickly. Occasionally, some uploads are held for additional analysis and may take longer to complete. As you notarise your apps, the system will learn how to recognise them, and you should see fewer delays. For lots of additional info about notarisation, see Notarisation Resources. Specifically, it links to a Q&A with the notary service team that’s quite instructive. Share and Enjoy—Quinn “The Eskimo!” @ Developer Technical Support @ Applelet myEmail = eskimo + 1 + @ + apple.com
5d
Reply to From Bytes to Gigabytes in a readable format
The Finder is showing two very different numbers here: 1,303,412,493 byte value, summarised as 1.3 GB at the top, is the logical size of the files. The 1.51 GB value is a summary of the size on disk, or physical size, of the files. Calculating the size of a file is basically an impossible task [1], but standard practical is to account for allocation block rounding. Consider this file: % xxd test.txt 00000000: 41 A % ls -l test.txt -rw-r--r--@ 1 quinn staff 1 21 Oct 10:16 test.txtFinder reports its size as 1 byte but its size on disk as 4 KB, because it knows that a 1 byte file needs a 4 KB allocation block. However, you shouldn’t do that rounding yourself. Rather, use the fileSize property for the logical size and the fileAllocatedSize property for the size on disk. These handle various edge cases that you don’t want to have to think about (-: Share and Enjoy—Quinn “The Eskimo!” @ Developer Technical Support @ Applelet myEmail = eskimo + 1 + @ + apple.com [1] Even back in the day this was a
Topic: App & System Services SubTopic: Core OS Tags:
5d
Reply to macOS application renaming
[quote='910786022, Etresoft, /thread/852507?answerId=910786022#910786022, /profile/Etresoft'] It all depends on how deep you want that rebranding to go. [/quote] Right. I see two aspects to this: App names versus bundle ID. Changing your code signing team. As you noted: You can change your app name as you see fit. But you can’t change a bundle ID because a new bundle ID makes for a new app. Generally this doesn’t matter because users don’t see your bundle ID in day-to-day use. It’s not secret, a user can uncover it quite easily, but it’s not immediately obvious either. So, as Etresoft said, it depends on how much you care about a user accidentally stumbling across the old name. That could be a serious problem — imagine a scenario where you’re legally not allowed to use the old name — or could just be a minor annoyance. If the rebranding involves changing teams, that’s trickier. For a Mac App Store app you can do an app transfer, but you’re direct distributing with Developer ID signing. In that case there real
Topic: App & System Services SubTopic: General Tags:
5d
Reply to Application translocation
To start, you can find a bunch of backstory in App Translocation Notes. On Apple platforms, we use the term app to refer to a GUI program that a user launches by double clicking in the Finder (or tapping on the Home Screen, or whatever). Apps are structured as a bundle, that is, a directory ending in .app with a very specific internal structure. You can learn more about that structure in Placing content in a bundle. If an app needs to access internal resources, it does so using the NSBundle API (Bundle in Swift). For example, if your code wants to reference an image called my-image.png, you’d add it to the app’s bundle like so: % find Test852702.app Test852702.app Test852702.app/Contents Test852702.app/Contents/MacOS Test852702.app/Contents/MacOS/Test852702 Test852702.app/Contents/Resources Test852702.app/Contents/Resources/my-image.png Test852702.app/Contents/Info.plist …and then find it with this code: let u = Bundle.main.url(forResource: my-image, withExtension: png)!where u is a file URL that points to Te
Topic: App & System Services SubTopic: Core OS Tags:
Replies
Boosts
Views
Activity
4d
Reply to App launches fail after App Store update: dyld "could not register fairplay decryption, mremap_encrypted() => -1" on the first embedded framework; reinstall fixes it (FB24755993)
Interesting. Thanks for closing the loop here. @AveD, I’m curious to know if yyy07’s explanation matches your experience? Share and Enjoy—Quinn “The Eskimo!” @ Developer Technical Support @ Applelet myEmail = eskimo + 1 + @ + apple.com
Replies
Boosts
Views
Activity
5d
Reply to Ventura: NWConnection returns server error in waiting state instead of failed state
Thanks for sharing this technique. I agree that it’s a useful approach, but I do want to speak to this: [quote='910805022, mcmizzle, /thread/719427?answerId=910805022#910805022, /profile/mcmizzle'] It is not accurate for an error where a host has already answered you. [/quote] Well, it can be. There are many cases where you can get an error that seems terminal, to use your term, but isn’t really. For example, a firewall associated with the current network might choose to trigger a ECONNREFUSED error when it blocks the connection, and in that case the .waiting(_:) state makes some degree of sense because the connection will go through if the user moves to a different network. So, my take on this is that your overall technique is valid, but folks should tune their definition of a terminal error to match the specifics of their app. Oh, and just FYI, I looked at the state of FB11787066 and it remains unresolved. Share and Enjoy—Quinn “The Eskimo!” @ Developer Technical Support @ Applelet myEmail = eskimo
Topic: App & System Services SubTopic: Core OS Tags:
Replies
Boosts
Views
Activity
5d
Reply to Captive Network Assistant not presented after joining Wi-Fi via Camera QR code until Settings > Wi-Fi is opened
Thanks for that confirmation. I’d like to come back to tihs: [quote='852321021, hlmdprm, /thread/852321, /profile/hlmdprm'] Environment: iOS 18.7, iPhone 15 Pro max [/quote] Is does this only affect iOS 18? Or are you seeing it on more moderne versions? Share and Enjoy—Quinn “The Eskimo!” @ Developer Technical Support @ Applelet myEmail = eskimo + 1 + @ + apple.com
Replies
Boosts
Views
Activity
5d
Reply to macOS: Reliable custody of a sandboxed worker if its controller dies during spawn
[quote='910667022, vm_install_notes, /thread/852113?answerId=910667022#910667022, /profile/vm_install_notes'] Completion after controller loss … I would not treat PID/PGID disappearance … as proof. [/quote] I don’t understand this. If you know the work was being done by a specific process and you know that process has terminated, what other guarantees are you looking for? [quote='910667022, vm_install_notes, /thread/852113?answerId=910667022#910667022, /profile/vm_install_notes'] including when the controller died before recording its identity? [/quote] You can avoid that concern by having the controller spawn the worker in the suspended state, the record the audit token, then resume the worker. If controller dies before it records the worker’s audit token, the worker will never run. [quote='910667022, vm_install_notes, /thread/852113?answerId=910667022#910667022, /profile/vm_install_notes'] A living but hung controller Does macOS 15.6 offer an OS-managed liveness or lease mechanism that can initiate terminat
Replies
Boosts
Views
Activity
5d
Reply to AccessoryAccess in a sandboxed helper: IOUSBHostInterface fails without a temporary-exception entitlement. Is there a supported way?
[quote='910803022, rbmanian75, /thread/851767?answerId=910803022#910803022, /profile/rbmanian75'] New problem [/quote] If you want to discuss that, I recommend that you start a new thread for it. I’d rather we focus this thread on the ‘interacting with an accessory from a child helper process’. Apropos that, earlier I wrote: [quote='910423022, DTS Engineer, /thread/851767?answerId=910423022#910423022'] That’s a bit of a worry given that the method’s return return type is xpc_object_t. [/quote] I confirmed with the Accessory Access folks that you can rely on this value being an XPC data object, so my concerns we unfounded. Cool. [quote='910803022, rbmanian75, /thread/851767?answerId=910803022#910803022, /profile/rbmanian75'] We still use the legacy IOUSBLib interface API. [/quote] I’m glad you got it working, but the fact that you had to use the legacy interface is less than ideal. I’d appreciate you filing a bug about that. Please post your bug number, just for the record. Share and Enjoy—Quinn “The Eskimo
Topic: App & System Services SubTopic: Core OS Tags:
Replies
Boosts
Views
Activity
5d
Reply to Supported receiver-confinement guarantee for anonymous XPC connections on macOS 27.0.1
[quote='910755022, sevenislove, /thread/851314?answerId=910755022#910755022, /profile/sevenislove'] is there a supported public mechanism that binds protected delivery to the authenticated receiver process occurrence … ? [/quote] No. And even if there were, there’s no way to stop the receiver from passing the contents of the message to a difference process. If you want to do that sort of thing, you have to prevent the receiver from setting up any IPC channels to untrusted processes. Share and Enjoy—Quinn “The Eskimo!” @ Developer Technical Support @ Applelet myEmail = eskimo + 1 + @ + apple.com
Replies
Boosts
Views
Activity
5d
Reply to How do I get the elements of NSArray
The issue here is that -matchesInString:… returns an array of NSTextCheckingResult objects and you’re getting the range property from that array as a whole, using -valueForKey:, rather than from each element of the array. When you do that, the NSRange struct gets boxed inside an NSValue, and hence the confusion. I recommend that you iterate over the NSTextCheckingResult objects themselves. You can then fetch the range property and convert that to a record: use framework Foundation set s to current application's NSString's stringWithString:Hello Cruel World! set re to current application's NSRegularExpression's alloc's initWithPattern: options:0 |error|:(missing value) set matches to re's matchesInString:s options:0 range:{0, s's |length|} set matchCount to count of matches -- -> 2 set match to matches's objectAtIndex:1 set rv to match's range rv's rangeValue as record -- -> {location:11, |length|:1}Share and Enjoy—Quinn “The Eskimo!” @ Developer Technical Support @ Applelet myEmail = eskimo
Topic: Programming Languages SubTopic: General Tags:
Replies
Boosts
Views
Activity
5d
Reply to Title: Hypervisor.framework — vCPU cessation guarantee after VM-owning process termination
I think you’ve misunderstood how Hypervisor framework works. When a thread calls hv_vcpu_run, it’s that thread that’s running the guest. So your question is equivalent to: When I’m notified of a process exiting, are any of its threads still running? and you already know the answer to that. Share and Enjoy—Quinn “The Eskimo!” @ Developer Technical Support @ Applelet myEmail = eskimo + 1 + @ + apple.com
Topic: App & System Services SubTopic: Core OS Tags:
Replies
Boosts
Views
Activity
5d
Reply to Web Browser Public Key Credential entitlement "issued" but still Submitted on App ID (macOS browser)
I think there’s been some confusion in that support case. Your team has the Default Web Browser capability but not the macOS Web Browser Public Key Credential. The request you mentioned, A9LNZMTCS4, is still pending. I recommend that you continue to follow up via that support case. Share and Enjoy—Quinn “The Eskimo!” @ Developer Technical Support @ Applelet myEmail = eskimo + 1 + @ + apple.com
Topic: Safari & Web SubTopic: General Tags:
Replies
Boosts
Views
Activity
5d
Reply to Title: Supported OS-enforced restriction of Keychain access while retaining App Sandbox and App Group UDS
You wrote: [quote='852366021, AT23, /thread/852366, /profile/AT23'] One application also launches a child that inherits its sandbox and an existing socket descriptor. [/quote] and: [quote='852366021, AT23, /thread/852366, /profile/AT23'] Is there a documented, supported OS policy that preserves this IPC arrangement while preventing the test processes [/quote] [my emphasis] So am I to assume the child process in the first quote is the test process in the second? Share and Enjoy—Quinn “The Eskimo!” @ Developer Technical Support @ Applelet myEmail = eskimo + 1 + @ + apple.com
Replies
Boosts
Views
Activity
5d
Reply to First-ever Developer ID notarization stuck “In Progress” for 3+ days
You can expect that most uploads will be notarised quickly. Occasionally, some uploads are held for additional analysis and may take longer to complete. As you notarise your apps, the system will learn how to recognise them, and you should see fewer delays. For lots of additional info about notarisation, see Notarisation Resources. Specifically, it links to a Q&A with the notary service team that’s quite instructive. Share and Enjoy—Quinn “The Eskimo!” @ Developer Technical Support @ Applelet myEmail = eskimo + 1 + @ + apple.com
Replies
Boosts
Views
Activity
5d
Reply to From Bytes to Gigabytes in a readable format
The Finder is showing two very different numbers here: 1,303,412,493 byte value, summarised as 1.3 GB at the top, is the logical size of the files. The 1.51 GB value is a summary of the size on disk, or physical size, of the files. Calculating the size of a file is basically an impossible task [1], but standard practical is to account for allocation block rounding. Consider this file: % xxd test.txt 00000000: 41 A % ls -l test.txt -rw-r--r--@ 1 quinn staff 1 21 Oct 10:16 test.txtFinder reports its size as 1 byte but its size on disk as 4 KB, because it knows that a 1 byte file needs a 4 KB allocation block. However, you shouldn’t do that rounding yourself. Rather, use the fileSize property for the logical size and the fileAllocatedSize property for the size on disk. These handle various edge cases that you don’t want to have to think about (-: Share and Enjoy—Quinn “The Eskimo!” @ Developer Technical Support @ Applelet myEmail = eskimo + 1 + @ + apple.com [1] Even back in the day this was a
Topic: App & System Services SubTopic: Core OS Tags:
Replies
Boosts
Views
Activity
5d
Reply to macOS application renaming
[quote='910786022, Etresoft, /thread/852507?answerId=910786022#910786022, /profile/Etresoft'] It all depends on how deep you want that rebranding to go. [/quote] Right. I see two aspects to this: App names versus bundle ID. Changing your code signing team. As you noted: You can change your app name as you see fit. But you can’t change a bundle ID because a new bundle ID makes for a new app. Generally this doesn’t matter because users don’t see your bundle ID in day-to-day use. It’s not secret, a user can uncover it quite easily, but it’s not immediately obvious either. So, as Etresoft said, it depends on how much you care about a user accidentally stumbling across the old name. That could be a serious problem — imagine a scenario where you’re legally not allowed to use the old name — or could just be a minor annoyance. If the rebranding involves changing teams, that’s trickier. For a Mac App Store app you can do an app transfer, but you’re direct distributing with Developer ID signing. In that case there real
Topic: App & System Services SubTopic: General Tags:
Replies
Boosts
Views
Activity
5d