IOS9 voip communication - ios

In iOS9 apple deprecated setKeepAliveTimeout and recommend UIRemoteNotification with VOIP Type available in PushKit for VOIP calling. Ok I can imagine that I will write server application for sending these notification.
1) But what-if i need periodically re-register to proxy server.
2) And what about sip-proxy? Does it mean, that all sip-proxies will need extension for sending these notifications to iOS Devices?

I founded answers to these questions here: https://forums.developer.apple.com/thread/49363
tl;dr
1) re-registering is not in iOS 10 no longer supported
2) generic sip-proxy app is also not available in iOS 10

Related

Is the Legacy VoIP API still usable in iOS 11/12/13/14?

Until iOS 8, VoIP apps could start in the background automatically after booting. This required the app to include the voip value in the UIBackgroundModes key, as described here. iOS 8 replaced this system with PushKit, an architecture that used Push Notifications from Apple’s Push Notifications service (APNs) to inform the app of an incoming call. With this system there was no need for the VoIP app to start automatically so this functionality was removed. The legacy API remained available until the iOS 9 SDK, where it was officially deprecated, as stated in Apple’s documentation. It was available in iOS 10 as a compatibility measure, assuming applications were built using an older SDK, but not included in the iOS 10 SDK. There is a notice on that documentation page, however, that says it is possible to apply for an exception to continue using the legacy system on iOS 10 and later. Does this mean it is possible, in theory, to use the legacy system on iOS 11-14?
As some additional information, iOS 13 changed VoIP so that PushKit call notifications had to be handled by CallKit or iOS would refuse to deliver future PushKit notifications. This can be bypassed with the com.apple.developer.pushkit.unrestricted-voip entitlement, as seen here. Cisco has documented problems due to this. In the same document it says that support for the legacy VoIP APIs are no longer supported in Cisco Jabber from August 2020, but this seems like a development choice rather than being due to Apple.
My main reason for wanting to use the legacy architecture is to be able to start an app automatically at boot. Not having to register with APNs is also a benefit.

Appcelerator - ios push notification bug

I'm working with push notifications using Appcelerator.
Is it possible that this important bug
https://jira.appcelerator.org/browse/TIMOB-18282
is still open?
The bug occurs when an ios app receive a push notification. If the app is closed, nothing is fired.
On iOS, there is no way to handle a push notification is it arrives when the app is closed.
I'm so disappointed. Push notifications are important in modern apps! And in Appcelerator don't work!
First of all that bug is still open because it can never be solved and in fact it is a limitation from Apple itself or even it is the limitation of every mobile OS.
Apple Push Notification Limitation
Read the above link for more details and you will have your all doubts cleared about Push notifications. Currently Titanium support best Push Notification handling when compared to cross-platform frameworks.
After reading above post, if you have any other doubts, then we are happy to help!

Sending a notification from OS X to iOS

I have a Mac application and an iOS application. I need to display a notification on iOS, coming from the Mac app.
Is there any easier way to do it than using Push Notifications or network sockets (UDP or TCP)? Maybe Apple provides it away?
I need to make sure that the user hears this notification. The application should launch in the background and start playing sound.
If they are on the same network you can use bonjour ( https://developer.apple.com/bonjour/index.html ) for communication between mac app and iOS app.
If they are on different network you have to use a server, the server will be connected to both mac app and iOS app via tcp, and you can send msgs via the server. And if the iOS device is locked or app is in background you have to implement push notification for sending data to the iOS app.
Not sure of your use case, but using Apple's push notifications to serve notifications for your app seems like a suitable choice. Again, not sure of your use case, but an alternative may be to send a text-message using the Twilio API.
There is another option known as BLE .With BLE you can interact between mac and iOS using core bluetooth framework.
When you receive any message from mac to iOS using this framework you can show a local notification and can wake an app, since BLE also works well in background mode.
For mac to act as peripheral there is a good open source project over here.
you can find more information about BLE here.
Hope this helps.
I think the only acceptable solution is to send push notifications via APNS from mac to iOS device due to limitations on app lifetime on iOS. There is nothing hard in implementing APNS, there are lots of ready implementations, like NWPusher - you may copy it to your project and setup the environment - keys, device tokens - and you're done. To transmit tokens from iOS to your mac app, you may use tons of ways. For example, implement simple web-service on mac and send tokens via http/https.
You may also use a ready server-side implementations, like parse.com, to send push notifications.

Pushkit voip push notifications are not being received on iOS8.0.2

I implemented new pushkit voip push notifications and until now it has been working properly in all iOS8 devices I tested except one.
I ve got an iPhone iOS 8.0.2 which is not receiving any voip push.
It registers correctly as I get the pushRegistry:didUpdatePushCredentials: forType: delegate called
I tested previous remote pushes (registerForRemoteNotifications) with success but none of sent voip push are received.
So my questions are:
*Anyone has experienced same behavior for pushkit voip push notifications?
*Could it be something related with iOS version (iOS 8.0.2)?
*Could anyone having this version (iOS 8.0.2), implementpushkit voip push and try to receive a voip push notification in order to discard version problem?
If you need to implement pushkit voip push notifications you can check my answer on stackoverflow question
It only works on iOS8. With this SDK only works on iOS 8.1 (as of writing this it's beta 1). The reason for this is that in 8.0 the compiler linked is a dynlib and is not able to locate push kit framework for 32bits when running on 64bit hardware. But for now you need to compile for armv7 and armv7s.
You have to configure the Voip Push on the server-side, its not just about implementing it to the code.

Can a Xamarin.IOS with PushSharp app be rejected by Apple AppStore?

I am designing a project that will use Xamarin.iOS for creating an iPhone/iPad application, which will make use of push notifications and in the end, it has to be published to Apple AppStore.
While I have to use Xamarin.iOS, I know that push notifications are done by using the PushSharp library.
Having in mind the constraints that Apple impose for publishing an app in their store, especially these points:
2.5 Apps that use non-public APIs will be rejected
5.1 Apps that provide Push Notifications without using the Apple Push Notification (APN) API will be
rejected
So, will using PushSharp library to send push notifications to iOS devices, cause my app to be rejected by Apple?
No, because PushSharp only uses public libraries, and it uses Apples system to send notifications. So, Apple will have no problem with your app if you use it.
I don't think that Xamarin creates C# wrappers for any private methods so I don't think you have to worry about that. Under the hood, I'm pretty sure that #redth uses the native push services for each platform. Also, doesn't PushSharp 'run' on your server not your ios app? This shouldn't affect your app anyway.

Resources