No connection notifications callback for Bluetooth devices are called on Sonoma if process is run as daemon/system, works on Ventura. Seems to be some changes in TCC that now requires kTCCServiceBluetoothAlways in system TCC.db - but how to grant this?
Other calls on IOBluetoothDevice fails probably for the same reason.
Running as launch agent works as expected on both Sonoma and Ventura.
Code used
os_log_t logHandle = 0;
@interface BluetoothConnection : NSObject
{
}
@end
@implementation BluetoothConnection
-(id)init {
self = [super init];
if (self)
{
IOBluetoothUserNotification* notification = [IOBluetoothDevice registerForConnectNotifications:self selector:@selector(deviceIsConnected:fromDevice:)];
if (notification == nil)
{
os_log_debug(logHandle, "registerForConnectNotifications failed");
}
else
{
os_log_debug(logHandle, "registerForConnectNotifications %{public}@", notification);
}
}
return self;
}
-(void)deviceDidDisconnect:(IOBluetoothUserNotification*)notification fromDevice:(IOBluetoothDevice*)device {
os_log_debug(logHandle, "%{public}@ (%{public}@) disconnected", [device name], [device addressString]);
}
-(void)deviceIsConnected:(IOBluetoothUserNotification*)notification fromDevice:(IOBluetoothDevice*)device {
os_log_debug(logHandle, "%{public}@ (%{public}@) connected (%d, %d)", [device name], [device addressString], device.deviceClassMajor, device.deviceClassMinor);
[device registerForDisconnectNotification:self selector:@selector(deviceDidDisconnect:fromDevice:)];
}
@end
int main(int argc, const char * argv[])
{
@autoreleasepool
{
logHandle = os_log_create("SPX”, “BT”);
BluetoothConnection *bluetoothConnection = [[BluetoothConnection alloc] init];
[[NSRunLoop currentRunLoop] run];
}
return 0;
}
Post
Replies
Boosts
Views
Activity
We submit for notarization using:
/usr/bin/xcrun notarytool submit '/tmp/notarytool_our_app.zip' --keychain-profile notarytool-TEAMID --wait --output-format plist --timeout 2h --keychain /Users/admin/teamid.keychain
Occasionally it fails with this error:
Error: MultipartUploadError(error: HTTPClientError.readTimeout, completedParts: [SotoS3.S3.CompletedPart(eTag: Optional(""f838a70fa4e9b4bf1a0c075eb931fcb8""), partNumber: Optional(1)), SotoS3.S3.CompletedPart(eTag: Optional(""7aa16c155f47b9d0704d99bc9a59db4c""), partNumber: Optional(2))])
What can be the reason for this? Upload size is 700-800MB. Seems to be som e upload issue to AWS S3 storage.
Thanks