CallKit and Apple Watch interoperability - ios

Along the news that came with the release of iOS 10 and WatchOS 3 there was CallKit.
I tried the demo app provided by Apple (and shown in the WWDC) called SpeakerBox in my devices (iPhone 6s, iOS 10 beta 5; AppleWatch with WatchOS 3 beta 5) and I have a serious doubt:
Are the features provided by CallKit available only on iOS or, since it uses the OS call system, we will have Apple Watch call handling for free as well?
I tested with the demo app but in that case I have the call ringing only on the phone, that sounds to me very weird since CallKit should be a framework to simplify the integration with the OS call system.
Does anybody know how and if is possible to have the standard call handling in WatchOS (>3 of course) as well?

Related

How to use Sinch VOIP with iOS 13 or higher?

I have an app in Android and iOS that uses Sinch videocalls but since the iOS 13 launching the video the iOS 13 sends is bad, it looks like static. I've discovered that if during the videocall I use the iPhone in landscape orientation the video transmitted is normal. This problem happens even with the sinch demo. Any ideas to solve this?
I've tried: use multiple connections, updating the framework to the last version, in multiple devices, modifiy the frame from the callAsyncLocalVideoFrameHandler.
I expect to be able to send good video from devices with iOS 13 of higher and iPadOS.
we are aware of the issue, it's caused by a compatibility issue between iOS 13's H264 Codec and the WebRTC version we use on our SDK.
We are working to fix that. There will be a new major iOS SDK release to support iOS 13, at the moment we do not recommend customers to release new versions of their apps with iOS 13/Xcode 11 support.
Your current apps will still work on devices running iOS <12 and the new iOS 13, as long as they are not built with XCode 11.
iOS 13 brings also new directives to use VoIP Push on Apple devices, this will also cause changes on how customers integrate any VoIP SDK, if you use VoIP Push notifications.
See note and links on our website.
https://www.sinch.com/docs/resources/downloads/index_vvv.html#info-ios-13-voip-push-changes
Jorge Siqueira - Sinch Voice & Video.
I also see problems with iOS 13 and Sinch Video call. I have tried to go back and build with Xcode 10.3 but that does not help either. iOS 12 still works like you say

Implications of converting dependent watchOS app to independent with watchOS 6

I am considering updating to an independent app for watchOS 6 (as Apple suggests) but it's not clear to me what will happen to users of older watchOS versions that have my app installed. More specifically:
What will happen if a user had the dependent app installed on their watchOS 5 watch but downloads an update of the iOS app (which now lists the watch app as independent) for their connected iOS 13 iPhone? Will the watch app be uninstalled or not function at all (since it will try watch connectivity with an iOS app that no longer supports it)?
This will definitely occur, since, according to official page:
watchOS 6 will be available for Apple Watch Series 1 and Apple Watch Series 2 later this fall.
I think this is not a hard question. An independent app means that the app can work alone. But it doesn't have to. An independent watchOS app should work with or without the iOS companion app. If you watchOS app can't work properly without iOS companion app, it is not an independent app. You should refactor your Apple Watch Extension or just leave it as not independent.
Here are what I believe should be true:
If you installed an Apple Watch app with its iOS companion app, both apps are removed if you remove the iOS app.
However, if the Apple Watch app is independent, you could installed it alone without install the iOS companion app.
For the second rule, there are some pitfalls as a developer. When you are debugging an independent watch app, it is listed in Watch app on iPhone. However, since there is no iOS companion app, you can't remove it entirely on iOS. Even if you have removed it on Apple Watch, it is still shown as not installed in Watch app.

Some questions about Apple Watch

I'm started to working with Apple Watch today.
I'm searched on internet about Apple Watch & watchOS 2, but have some stuck while understand all of them (please for give me for bad English, thanks):
1. Can Apple Watch detect shake motion of user when they're shaking their hand? (I mean like shake to change song when play music, shake to change picture?). In iOS I'm using the function motionBegan, motionEnd to detect it. But don't know how to detect this event on apple watch, seem like Apple doesn't mention it on their document. Can you show me how to detect shake event of user?
2. In example, I have an application running on iOS version. How can I create one more version for Apple Watch that can communicate with my iPhone app?
3. Apple say from watchOS 2, the app can run natively without the iphone. But when I'm created a demo app, I'm still need iphone to build & run. Is there anyway to build & run my app in my watch without the phone?
4. I was created an demo app on watchOS 2, which have an button. Now I want whenever I'm pressed on this button the Siri will appear to recognize my voice. Is Apple let me to access Siri from my own app? If yes, how can I do it in my code?
1. You can access a subset of the CoreMotion API on the AppleWatch. But the use of this API is limited to when the AppleWatch app is active. So if the user has your app active on their wrist they could shake and you could get CoreMotion data to detect what you need. Check out the available APIs on CoreMotion here.
2. Don't really understand the question try to clarify a bit. If you are looking for how to send messages between the iOS and watchOS app check out my post here Send messages between iOS and WatchOS with WatchConnectivity in watchOS2
3. Yes AppleWatch apps in WatchOS2 runs natively. But you still need an iOS app to get the AppleWatch app installed. Apple watch is mainly developed to act as a companion to your phone. So when you install an iOS app you get the choice to install the (if it exists) companion AppleWatch app.
4. Oficially, no. You canĀ“t access the Siri API for now.

iBeacon and WatchO2: does CoreLocation run from the Watch or the iOS device?

Does WatchO2 CoreLocation run from the Watch or the iOS device?
I have made a sample app using WatchOS 1 and an iOS 8 device and noticed that the CoreLocation data that I was getting from the watch extension to get the proximity with the iBeacon seemed to be deriving from the iOS device (when I get the Watch closer to the iBeacon the proximity data does not change anything, but instead it changes when I get the iOS device closer or further away). However with the introduction of WatchOS 2 I would want to get the proximity from the watch and not the iOS device.
Is this possible in watch os 2?
My understanding is that with the watchkit preview released at WWDC 2015, using CoreLocation to range for beacons on the watch itself is now possible. I have not tested this myself yet, so I will defer to others on details.
Bluetooth seem not to be available directly from the WatchOS 2. So the answer to my question is no due to API limitations.
Please comment if otherwise.
There is the possibility to use the connectivity framework to access the phone data, but it is a different design from the one I was after (direct access to watch BLE hardware)

Blocking incoming and outgoing calls from iOS Enterprise App using Private API

I looked at lot of different posts in SO and others blogs,it looks blocking calls in iOS is possible. I followed the below url and tried in my project, but it is not blocking the calls. I tested in my iOS8 device.
Block calls and sms in Iphone iOS while application running
For only testing purpose you should use quite old Apple devices that are not well protected. I will definitely recommend to use old iPhone 4 with Jailbreak in it. I was using iOS 6 to test hide API and code examples that are presented in this article is working fine.
Nevertheless CoreTelephony APIs are not working on iOS 7 and iOS 8 as well so you should investigate more to find out with API you should use.

Resources