Posts

Post not yet marked as solved
0 Replies
425 Views
I'm trying to understand the mechanism by which the Quit Application menu item gets disabled while a modal dialog/alert is up. Who is responsible for disabling the menu item? We have a case where in some cases, the Quit Application menu item is not getting disabled even when a modal dialog is up. So I'm trying to figure out where things may be going wrong.
Posted
by dparakh.
Last updated
.
Post not yet marked as solved
0 Replies
798 Views
Hi, I'm trying to use ShareArrayBuffer with Audio Worklets but it does not seem to work. It works fine with Chrome. The Share Array Buffer sample from here, works well with Chrome, but not with Safari. https://googlechromelabs.github.io/web-audio-samples/audio-worklet/design-pattern/shared-buffer/ There's no error indicated in the JS Console, either. This seems related to the following WebKit bug: https://bugs.webkit.org/show_bug.cgi?id=237144 But that is marked as been resolved. Tried using the Safari Technology Preview (v 165) - but that has even bigger problems. It does not even recognize AudioWorkletNode class! Am I missing something? Thanks. Devendra.
Posted
by dparakh.
Last updated
.
Post marked as solved
8 Replies
1.3k Views
We have encountered a problem where the dyld ends up using the incorrect dylib. Here's the use case: Plugin A (a bundle) depends on Dynamic Library A - referenced with "@loader_path". Plugin B (a bundle) depends on Dynamic Library B - referenced with "@loader_path". Relevant File (binaries) layout is like this: MyPluginA.bundle/Contents/MacOS/MyPluginA [depends on @loader_path/../../../MyLibraryA.framework/MyLibrary] MyLibraryA.framework/MyLibrary MyPluginB.bundle/Contents/MacOS/MyPluginB [depends on @loader_path/../../../MyLibraryB.framework/MyLibrary] MyLibraryB.framework/MyLibrary This scheme works fine on most machines. But on some Macs, dyld tries to link MyPluginB with the library in MyLibraryA - which causes the plugin not to be loaded because it cannot find the required symbols in the library. If we try to print dyld debug information, it shows that MyLibraryB is loaded and then unloaded, without showing any reason. And following that, the MyPluginB tries to look for MyLibraryB's symbols in MyLibraryA. Can this be due to some kind of caching done by dyld? Why is the @loader_path not being used to refer to the actual library being used?
Posted
by dparakh.
Last updated
.
Post not yet marked as solved
1 Replies
809 Views
We have noticed that in our application that creates worker threads for audio processing, these threads (time-constrained priority) in some cases do not run on the P-Cores (on Apple Silicon Macs). It was my understanding that once we use audio workgroups, the scheduler will always schedule our threads on the P-Cores. This works okay as long as the CoreAudio buffer size used is 256 samples or less (@ 48K). But if the buffer size is 512 or above, the threads are run on E-Cores (checked using System Trace). Is this expected behavior? Can I find any documentation for this (short of analyzing the scheduler source in kernel)? Thanks. Devendra.
Posted
by dparakh.
Last updated
.
Post not yet marked as solved
0 Replies
854 Views
If I physically disconnect a MIDI (USB) device, the MIDI Studio correctly shows the device as offline, yet MIDISend does not return an error when trying to send to this disconnected device. I realize that MIDISend is deprecated for macOS 11.0 but we need this to work pre-11.0 Is this expected behaviour?
Posted
by dparakh.
Last updated
.
Post not yet marked as solved
0 Replies
575 Views
The first time it asks - makes sense, because the file was not writeable. But after that, even when the file is writeable, Xcode keeps asking the same question - after almost every edit. The only way to get rid of the prompts is to close Xcode and start it again. Almost as if Xcode caches the file attributes, and does not update when it makes the file writeable. This happens on one of my Macs, not on others. Any help on how to fix this would be greatly appreaciated!
Posted
by dparakh.
Last updated
.
Post not yet marked as solved
4 Replies
1.2k Views
Hi, We have been able to successfully use NWEthernetChannel to send and receive packets with our custom protocol. However, we don't see any incoming packets (with our protocol) if they have the broadcast destination (ff:ff:ff:ff:ff:ff). I have verified that the packets in question are being received by the lower layers by doing a network capture with tcpdump - just that they don't show up on the NWEthernetChannel's receive handler. Also there are no log entries from any layers (enabled --debug --info). Is there something special that we need to do to enable receiving broadcast packets? Thanks. Devendra.
Posted
by dparakh.
Last updated
.
Post not yet marked as solved
2 Replies
1.1k Views
It seems like signposts generated with os_signpost() APIs are not appearing in the trace files collected with ktrace (ktrace artrace). On the other hand, if the signposts are generated with kdebug_signpost APIs - they do show up correctly. Is this expected behavior? Specially since the kdebug_signpost APIs are now deprecated? Thanks. Devendra. ps: The os_signpost generated signposts do appear if capturing with Instruments app, just that they are not captured by ktrace.
Posted
by dparakh.
Last updated
.
Post not yet marked as solved
0 Replies
619 Views
I'm using macOS BigSur, Instruments 12.4. Every time I try to capture a System Trace (no matter how short) it leads to the entire system eventually getting stuck. First of all Instruments starts analyzing data, and at some point stops moving further. If I try to kill Instruments - it goes away from the Force Quit Applications list, but still stays on screen. At this point, I'm not able to close any other applications or even shut down the system - everything starts getting stuck. The only way to recover is to do a hard power reset. This is on a MacBook Pro. Is there a solution for this?
Posted
by dparakh.
Last updated
.
Post marked as solved
9 Replies
2.0k Views
We need to enumerate the available network interfaces(NWInterface) which can be used to initialize a NWEthernetChannel. Note that this is for creating a custom network protocol. So we don't expect these interfaces to have any Internet connectivity. In fact, we want to be able to enumerate the interfaces even when the cable is disconnected. So we cannot use use the method described in this thread - which only works for interfaces which have a cable connection: Getting NWInterface for ... - https://developer.apple.com/forums/thread/128215 Alternatively, is there a way to get an NWInterface from a SCNetworkInterfaceRef (obtained via SCNetworkServiceCopyAll() - SCNetworkServiceGetInterface())? There is the undocumented nw_interface_create_with_name() - but I'm not sure if that's a good idea. Thanks. Devendra.
Posted
by dparakh.
Last updated
.
Post marked as solved
4 Replies
4.0k Views
What's the proper way to enable showing "private" items from os_log? I see various mobileconfig files on different web sites - signed by people I may not trust! I would like to know where this is documented and if Apple provides such configuration profiles? Thanks. Devendra.
Posted
by dparakh.
Last updated
.
Post marked as solved
4 Replies
3.2k Views
Hi, We're working on implementing our app with custom network protocol (existing solution was to use a kext with an interface filter). Note that we don't intend to distribute our app via the App Store. Now in order to add the Custom Network Protocol capability to the app (com.apple.developer.networking.custom-protocol entitlement), Xcode requires a few things... We cannot sign to run locally. Xcode says that our app has entitlements to require signing with a development certificate. Once I "Enable Development Signing" - a provisioning profile is used. All works fine (on the development Mac) after doing this. However, now I cannot run this app on just any other Mac. If I understand this right, each of those Macs will need to be added to the provisioning profile by our (corporate) account admin (or we install Xcode on those machines and open the project - not desirable). Is there a simpler path? What happens when we need to distribute our application to our customers (we don't want to go through the App Store). Are custom network protocol entitled apps only distributable via the App Store? Thanks. Devendra.
Posted
by dparakh.
Last updated
.