Post

Replies

Boosts

Views

Activity

Callkit providerDidReset occurring possibly since iOS 12.3.1
In My VoIP App I am recently sometimes getting no Audio when making outgoing calls.I think this may have started happening when I updated iPhone X to iOS 12.3.1. I had not seen this error before with older versions of iOS.When I analysed it I see that I am getting a Callkit providerDidReset callback to my App and hence the Audio never activates.Looking at the Console debug output I see"MyApp Connection <private> interrupted for XPC provider <private>" just before the providerDidReset.default 12:37:48.247486 +0100 MyApp PROVIDER CALLBACK performStartCallAction to dial Kierandefault 12:37:48.249499 +0100 MyApp Provider <private> was notified that action <private> completeddefault 12:37:48.254675 +0100 MyApp Connection <private> interrupted for XPC provider <private>default 12:37:48.254731 +0100 MyApp MDS CALLKIT => => => => => PROVIDER CALLBACK providerDidResetdefault 12:37:48.257283 +0100 CommCenter Connection <private> interrupted for XPC provider <private>default 12:37:48.257846 +0100 SpringBoard Client XPC connection was invalidated: connection=0x2821f0f30Can anyone help with why I may be getting "providerDidReset"? Is it caused by "interrupted for XPC provider" and if so how can I avoid it. I do not know what XPC is ?I cannot find any information about providerDidReset and advice about what to do if it occurs.Note:- In the debug above I have made about 30 sucessful calls without closing my App and then call 31 failed as above- I also have an iPhone 6 Plus also running iOS12.3.1 and I don't see the error on that (At least not yet)- I have made maybe 500 test calls and have seen this error about 5 times.
3
0
3.1k
Jun ’19
Do I need seperate VoIP Services Cert if I use normal APNS Certificate?
In my App I currently use a VoIP Services Certificate“Establish connectivity between your notification server, the Apple Push Notification service sandbox, and production environment to alert background VoIP apps of incoming activity. A separate certificate is required for each app you distribute.”I now need to also use Apple Push Notification service SSL (Sandbox & Production)“Establish connectivity between your notification server, the Apple Push Notification service sandbox, and production environments to deliver remote notifications to your app. When utilizing HTTP/2, the same certificate can be used to deliver app notifications, update ClockKit complication data, and alert background VoIP apps of incoming activity. A separate certificate is required for each app you distribute”From my reading of these descriptions it seems too suggest that I can simply use the one Apple Push Notification service SSL (Sandbox & Production) certificate with HTTP/2 to send pushes to bothVoIP Push Server (api.push.apple.com:443 and api.development.push.apple.com:443)Normal Push Server (api.sandbox.push.apple.com:443 and api.push.apple.com:443Can anybody confirm if this is true? If its is true what is the point of having the separate “VoIP Services Certificate” at all if it is already catered for by the Apple Push Notification service SSL (Sandbox & Production)?
4
0
7.3k
Jul ’19
iOS14 Beta 1 Killing VoIP app because it failed to post an incoming call in time.
With iOS14 App I am seeing frequent crashes when send in an incoming call VOIP Push. iOS is killing the App with the message "Killing VoIP app because it failed to post an incoming call in time" When SDK13 arrived we changed our code so as to avoid the iOS crash "terminateAppIfThereAreUnhandledVoIPPushes". So we always offer the call to Callkit before we return from pushRegistry:(PKPushRegistry *)registry didReceiveIncomingPushWithPayload:(PKPushPayload *)payload forType:(PKPushType)type withCompletionHandler:(void (^)(void))completion and our App has worked fine with iOS13 versions. So is this a new error "Killing VoIP app because it failed to post an incoming call in time" ?? I attach a log file snippet. Console log - https://developer.apple.com/forums/content/attachment/b9390632-9de3-4787-9a94-616a979eab34 You can see from log file attached that I was about to offer the call to Callkit just after iOS killed it. There is 19 mSec gap between Push arriving and iOS killing the App. default 19:36:42.598051 +0100 Our App MDS DEBUG => => => => => => New Push: Payload is [142],[Davemaj XS],[],[],[0] ... ... error 19:36:42.600513 +0100 callservicesd Killing VoIP app mds.mds.appname.us2 because it failed to post an incoming call in time.  ... ... default 19:36:42.617861 +0100 Our App MDS CALLKIT  => => => => => offerIncomingCallToCallkit from caller Davemaj XS {PBX:142}
7
0
4.6k
Jul ’20
INStartCallIntentHandling How do I ask user to select one of Multiple Numbers
I'm trying to use SiriKit INStartCallIntentHandling to place telephone calls. I can write my handler to "home in" on the correct contact to dial BUT how should I get SIRI to ask the user which number he/she wants to dial? I see with Siri and the native phone App Siri asks "which number for" ... Mobile, Home, Work etc BUT I cannot see how to do that with my VoIP App. Anybody got any tips on this?
0
0
832
Jan ’21
Crash with NSURL URLWithString
I am seeing crash reports with our users at this line of code NSURL *url = [NSURL URLWithString:self->urlAddress]; self->urlAddress is never nil. My understanding is that if self->urlAddress is malformed in someway then URLWithString should return nil but it seems to crash the thread as below. Has anybody any suggestions as t what might be wrong? Thread 3 name: Thread 3 Crashed: 0 CoreFoundation 0x00000001a73704a0 CFStringGetLength + 60 (CFInternal.h:889) 1 CoreFoundation 0x00000001a739b5b4 _CFURLCreateWithURLString + 84 (CFURL.c:2046) 2 Foundation 0x00000001a8635908 +[NSURL(NSURL) URLWithString:relativeToURL:] + 52 (NSURL.m:463) 3 Dubline 0x0000000102f3391c __58-[settingsAccountViewController reloadDublineSettingsPage]_block_invoke + 1024 (settingsAccountViewController.m:273) 4 CFNetwork 0x00000001a79f23dc __40-[__NSURLSessionLocal taskForClassInfo:]_block_invoke + 540 (LocalSession.mm:687) 5 CFNetwork 0x00000001a7a04768 __49-[__NSCFLocalSessionTask _task_onqueue_didFinish]_block_invoke + 244 (LocalSessionTask.mm:584) 6 libdispatch.dylib 0x00000001a6fb9a84 _dispatch_call_block_and_release + 32 (init.c:1466) 7 libdispatch.dylib 0x00000001a6fbb81c _dispatch_client_callout + 20 (object.m:559) 8 libdispatch.dylib 0x00000001a6fc3004 _dispatch_lane_serial_drain + 620 (inline_internal.h:2557) 9 libdispatch.dylib 0x00000001a6fc3c34 _dispatch_lane_invoke + 456 (queue.c:3862) 10 libdispatch.dylib 0x00000001a6fce4bc _dispatch_workloop_worker_thread + 764 (queue.c:6589) 11 libsystem_pthread.dylib 0x00000001f304a7a4 0x1f3047000 + 14244 12 libsystem_pthread.dylib 0x00000001f305174c 0x1f3047000 + 42828
3
0
1.9k
Jul ’21
iOS15 Beta 3 Callkit not displaying correct caller text
In iOS15 beta3 I get an incoming call. The text that I send as the caller is Brad Smith (PBX:142} When the incoming call screen appears it shows 142} as the caller If I look at the recent calls in the native phone App it shows it correctly as Brad Smith (PBX:142} I setup the caller CXHandle as follows... locHandle = [[CXHandle alloc] initWithType:CXHandleTypeGeneric value:numToCall]; Note 1: Everything works fine on iOS14 Note 2: Just for info... I use this format for special internal calls so as when return a recent call from the Native phone App then it can figure out the number to dial by searching for {PBX: and using the digits after it.
5
0
1.8k
Jul ’21
iOS VoIP App running on M1 Mac Callkit and Pushkit not working
I took delivery of my first M1 Mac (iMac running Big Sur 11.4) and with great anticipation installed my iOS VoIP App from the AppStore. I was greatly disappointed to see that There were no VoIP Pushes to start an incoming call Callkit does not seem to work so I get no Audio. Am I missing something? Is there some permissions or configuration I might need to set? Or is it just that Callkit and Pushkit don't work even though it states on developer.apple.com that they are supported on macOS 10.15+ Any advice or guidance greatly appreciated. Very disappointed :-(
6
1
2.5k
Jul ’21
Possible Problem BSD Sockets iOS15 on cellular
In our iOS app we have been using BSD sockets C Code for connecting to Server for 9 years now. Recently we have seen a few reports of our App being unable to connect on the 5G/4G Cellular network. First reports were from an iPhone 13 so I thought maybe this was a new issue with that model. But we have also seen it on iPhone 12 Pro Max. The app works fine on Wifi but will not connect to the server on Cellular. This is only happening on some devices (not all devices) Whilst trying to figure this out I have just discovered in the "networking overview" the statement "In iOS, using sockets directly using POSIX functions or CFSocket does not automatically activate the device’s cellular modem or on-demand VPN" I was not aware of that but have seen no problems with Cellular since our App was launched 9 years ago. I also see a post from Quinn the Eskimo saying that "On modern systems, however, the WWAN network is pretty much pinned up by various system services (most notably push notifications). So has something changed with iOS15? It will be a major rewrite if I have to move our networking protocol code away from BSD Sockets and in the meantime our customers will stop using our App. Is it possible to get more certainty on this issue?? Could it just be a new iOS15 bug ? Thanks Dave
3
0
1.4k
Nov ’21
Xcode14 Beta 4 Callkit didActivateAudioSession not called when run on simulator
When running my VoIP App on simulator 14.0 Beta 4 this is never called (void)provider:(CXProvider *)provider didActivateAudioSession:(AVAudioSession *)audioSession I have tried iPhone simulator tor simulate devices running both iOS15.2 and iOS16 This same code works correctly if I run on a real device ruining iOS16 Beta It also works correctly running on simulator with Xcode 13.2.1 So it seems to me that Callkit is Not activating audio correctly on Simulator in Xcode 14.0 Beta 4 Anybody seeing same behaviour?
2
1
1.6k
Aug ’22
Xcode 15.0 Beta ld: warning: duplicate -rpath '@executable_path/Frameworks' ignored
When my build is linked I'm seeing this warning.. Ld /Users/abc/Desktop/export/Build/Debug-iphoneos/MyApp.app/MyApp normal (in target 'BlankView' from project 'BlankView') cd /Users/abc/Desktop/export/GUI/BlankView /Users/abc/Downloads/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -Xlinker -reproducible -target arm64-apple-ios12.0 -isysroot /Users/abc/Downloads/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.0.sdk -O0 -L/Users/abc/Desktop/export/Build/EagerLinkingTBDs/Debug-iphoneos -L/Users/abc/Desktop/export/Build/Debug-iphoneos -L/Users/abc/Desktop/export/Build/Debug-iphoneos -F/Users/abc/Desktop/export/Build/EagerLinkingTBDs/Debug-iphoneos -F/Users/abc/Desktop/export/Build/Debug-iphoneos -F/Users/abc/Desktop/export/Build/Debug-iphoneos/InputBarAccessoryView -F/Users/abc/Desktop/export/Build/Debug-iphoneos/MessageKit -filelist /Users/abc/Desktop/export/Build/BlankView.build/Debug-iphoneos/BlankView.build/Objects-normal/arm64/MyApp.LinkFileList -Xlinker -rpath -Xlinker /usr/lib/swift -Xlinker -rpath -Xlinker @executable_path/Frameworks -Xlinker -rpath -Xlinker @loader_path/Frameworks -Xlinker -rpath -Xlinker @executable_path/Frameworks -dead_strip -Xlinker -object_path_lto -Xlinker /Users/abc/Desktop/export/Build/BlankView.build/Debug-iphoneos/BlankView.build/Objects-normal/arm64/MyApp_lto.o -Xlinker -export_dynamic -Xlinker -no_deduplicate -fobjc-arc -fobjc-link-runtime -L/Users/abc/Downloads/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphoneos -L/usr/lib/swift -Xlinker -add_ast_path -Xlinker /Users/abc/Desktop/export/Build/BlankView.build/Debug-iphoneos/BlankView.build/Objects-normal/arm64/MyApp.swiftmodule -framework InputBarAccessoryView -framework MessageKit -framework UIKit -framework WebKit -framework QuartzCore -framework UserNotifications -framework Intents -framework CallKit -framework PushKit -framework Contacts -framework Security -licucore -labc_ipphone -labc_ipphone_libs -framework Foundation -framework UIKit -framework CoreGraphics -framework CFNetwork -framework AudioToolbox -framework AVFoundation -framework SystemConfiguration -framework Pods_BlankView -Xlinker -no_adhoc_codesign -Xlinker -dependency_info -Xlinker /Users/abc/Desktop/export/Build/BlankView.build/Debug-iphoneos/BlankView.build/Objects-normal/ ld: warning: duplicate -rpath '@executable_path/Frameworks' ignored Can anybody help?
1
5
1.3k
Jun ’23
INStartCallIntent Requires Unlocking of device
I have "upgraded" from INStartAudioCallIntent to INStartCallIntent because of deprecation warnings about INStartAudioCallIntent However with INStartCallIntent when it proceeds to make the VoIP call I need to UNLOCK the device. This defeats the purpose of using Siri where you may be driving and do not want to touch the iPhone in order to make a call Is there anyway this can be avoided? Is there a Property List Key or Phone Setting to allow the call to proceed without unlocking? With INStartAudioCallIntent I did not need to unlock the device so this is a step backwards for users.
0
0
613
Jul ’23
iOS 18.1 Call Record.. How to Test when based in Europe
I am a developer based in Ireland. I updated an iPhone 12 to iOS18.1 Beta 4 in order to investigate the Call Record Feature. We have a VoIP App and I wanted to see if there is any interaction with this new Call Record feature. However there is no option appearing for me under Settings ->Apps->Phone for Call RECORD My suspicion is that this is because I am in Europe and Apple Intelligence is not available here. We have our Apps available in the USA so is there anyway that I can enable Call record for some testing. Alternatively does anybody know if Call record should work with Callkit VoIP Apps?
0
2
500
Sep ’24
QLPreviewController freezes when playing Videos
In my iOS App I present a QLPreviewController where I want to display a locally stored Video from the iPhone's document directory. let previewController = QLPreviewController() previewController.dataSource = self self.present(previewController, animated: true, completion: nil) func previewController(_ controller: QLPreviewController, previewItemAt index: Int) -> QLPreviewItem { let url = urlForPreview return url! as QLPreviewItem } This seems to work fine for all but one of my testflight users. He is using an iPhone 12 with iOS18.0.1. The screen becomes unresponsive. He cannot pause the video, share it or close the QLPreviewController. In his logfile I see the following error... [AVAssetTrack loadValuesAsynchronouslyForKeys:completionHandler:] invoked with unrecognized keys ( "currentVideoTrack.preferredTransform") Any ideas?.
0
0
72
1d