Posts

Post marked as solved
6 Replies
700 Views
Hello there :) We have an iOS/iPadOS app that uses the ImageCaptureCore framework for PTP communication with cameras. In general, it is working just fine. But in "Xcode > Organizer > ’our app’ > Crashes" we get a good amount of different – yet similar – crashes in this framework. So we can just observe that a good amount of end-users get those crashes. But we are not able to reproduce them ourselves... I've checked the stack traces of the other threads but nothing suspicious got my attention. Any good idea of how to address these crashes shown below? Happens on iOS 15–17. Thanks!
Posted
by bims.
Last updated
.
Post not yet marked as solved
0 Replies
361 Views
We have an iOS/iPadOS app that uses the ImageCaptureCore framework to communicate with PTP cameras. The same app also works with the 'macOS Catalyst' destination. But we like to deprecate the use of macOS Catalyst and then use 'Designed for iPad' destination instead. But when I use this destination then no cameras are provided to the app (ICDeviceBrowser)! :( I've noticed that on iOS devices the 'Settings app' usually shows that our app is allowed to use 'Camera'. But this possibility doesn't appear when the destination is 'Designed for iPad'. To my understanding below entitlements are used for a 'real' macOS app (including Catalyst), but I have added it anyway with: com.apple.security.device.camera com.apple.security.device.usb com.apple.security.personal-information.photos-library all set to YES and also the same privacy-related entries needed for iOS. Any pointers would be appreciated, thanks! :) macOS 14.1.1; Xcode 15.0.1
Posted
by bims.
Last updated
.
Post not yet marked as solved
4 Replies
876 Views
We have an issue with creating an ordinary TCP socket connection to a device that is connected on a link-local net (simple peer to peer Ethernet). Our code is in C++ and we use the normal POSIX socket API. The scenario is like this: We have a device with ordinary Ethernet connected to a USB-Ethernet adaptor. We plug in the USB-Ethernet adaptor in a Mac or iPad. The device establishes link-local IP address and announces a service via mDNS/DNS-SD The Mac/iPad Bonjour system picks up the device service and we get the information in our app. Our app want to connect to the service using a normal TCP socket connection to the device's link-local address. So far this is normal and working as expected. However from here something unexpected happens: We create a "socket()" and do a "connect()".  WireShark shows that the TCP connection is established on the correct interface, with the correct destination IP/port, but with a source IP/port from a different interface. Fx. the TCP SYN from the Mac has destination ip 169.254.5.253 (correct) but source IP 192.168.1.101 (wrong - that IP does not exist on that interface). Consequently the TCP connection never get established. Workaround: We have found out that using "bind()" to bind the socket to a specific source link-local IP on the relevant interface works. Then the TCP SYN comes out with correct source IP. However binding an outgoing TCP that is a very unusual thing to and we are surprised that it doesn't just work without it. Other information: Parts of this issue seems to be timing related. Without the "bind()" it sometimes works if we retry the connect after timeout. Occasionally it works the first time. Having a Ethernet switch in between also sometimes helps. Have we missed something or is this a problem in macOS/iOS? Thanks! :)
Posted
by bims.
Last updated
.
Post marked as solved
1 Replies
1.5k Views
According to https://developer.apple.com/documentation/iokit IOKit is supported for iOS/iPadOS 16.0+. I was trying to figure out what that exactly meant by using Xcode 14.1 and build for iPadOS 16.1. But I just get "No such module 'IOKit'" if I have import IOKit in any Swift file. Wondering if it is an error in the documentation or if I have to do something extraordinary? Thanks :)
Posted
by bims.
Last updated
.
Post not yet marked as solved
5 Replies
1.3k Views
Hello there 🤓 We have this elderly QuickLook plugin that I am trying to revive for Big Sur... (Well, it seems to be a problem on Big Sur only.) The thing is that it uses NSTemporaryDirectory(). This directory can be written to when built locally in Debug/Release configuration. But when doing an Archive/Notarized builds the plugin cannot write to the directory. I have here found that in this case it gets its NSFileExtendedAttributes set to com.apple.rootless! So somehow System Integration Protection (SIP) kicks-in! I have found two workarounds: If I disable SIP ($ csrutil disable from Recovery mode) then it works. If I enable the Hardened Runtime exception 'Allow DYLD Environment Variables' then is also gets write access to the temp directory. My question is: Can one give a proper explanation for why SIP kicks-in? Could we have misconfigured something? Let me know if you need additional information, thanks. Best regards, Jens Schwarzer.
Posted
by bims.
Last updated
.
Post marked as solved
1 Replies
751 Views
Hello there :) I have a UITableView where I have tableView.allowsMultipleSelection = true. This works just fine on iOS, i.e., I can select/deselect zero, one or more cells... But on Mac Catalyst (macOS 10.15.7) I have the following problems: 1) I cannot select more than one cell. I have tried to Cmd+click and Ctrl+click but it makes no difference. 2) If I iterate over all the cells and programmatically selects them all then tableView.indexPathsForSelectedRows always returns the last selected IndexPath only. In both cases I have checked that tableView.allowsMultipleSelection = true is still true afterwards. This is really frustrating as I wanted to ready my app for Mac Catalyst and kinda assumed that UITableView was fully supported... Any clues why this isn't working for me? Any workarounds? Thanks! Best regards, Jens Schwarzer
Posted
by bims.
Last updated
.
Post marked as solved
2 Replies
1.1k Views
Hello there :) We have a macOS app that has hardened runtime enabled. Furthermore, we have code signing enabled for Debug builds. We were discussing if we disable code signing for our Debug builds (to speed up local building) will this then disable hardened runtime too? Our concern is of course that if our local testing works fine and then in Release builds - if hardened runtime only kicks in here - the app would get into trouble in production... Best regards, Jens Schwarzer
Posted
by bims.
Last updated
.
Post not yet marked as solved
0 Replies
753 Views
Hello 🙂If you start a workout in Apple Watch HealthKit then you can get the heart rate from HealthKit, which is fine.But is it possible to start a workout so that HealthKit will also get Heart Rate Variability samples (including Beat-to-Beat Measurements that has become available in watchOS 6)?I only see them get stored in HealthKit when using Apple's Breathe app... and so it seems not really possible to make your own app to get those measurements... 😟Cheers!
Posted
by bims.
Last updated
.
Post marked as solved
4 Replies
1.8k Views
Hi 🙂I have a fairly simply iOS/iPad app that I wanted to make it ready for Catalyst... Just ticked support and compiled without any problems.But when the app start I can see that didFinishLaunchingWithOptions gets called but then right after:[AXLoading] Failed to load item AXCodeItem<0x600002625ce0> [Rank:6000] AuthenticationServices [AXBundle name:/System/iOSSupport/System/Library/AccessibilityBundles/AuthenticationServices.axbundle/AuthenticationServices] [Platforms and Targets:{ iOS = AuthenticationServices; tvOS = AuthenticationServices; watchOS = AuthenticationServices; } Framework]. error: Error Domain=AXLoading Code=0 "URL does not exist: file:///System/iOSSupport/System/Library/AccessibilityBundles/AuthenticationServices.axbundle" UserInfo={NSLocalizedDescription=URL does not exist: file:///System/iOSSupport/System/Library/AccessibilityBundles/AuthenticationServices.axbundle}and then the app crashes...Then I have checked the path '/System/iOSSupport/System/Library/AccessibilityBundles/' and can see the files are not there!I have now tried with both Catalina Beta 5/6, Xcode 11 Beta 5/6.Any known wordarounds/fixes please?Cheers!
Posted
by bims.
Last updated
.