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?.
Post
Replies
Boosts
Views
Activity
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?
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
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 :-(
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.
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?
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)?
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?
In iOS16 I notice that a UIPickerView is vertically misaligned . It appears to be lower down on the View than on iOS15. I am testing code built with Xcode 13 on an iPhone 11 running iOS 16 Beta 2. Anybody else seeing this?
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.
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
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}
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?
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.