External Accessory bluetooth issue in IOS11 - ios

I have App which uses external accessory platform to connect to iPod App.
Before iOS11 bluetooth was working very much fine with automatically reconnecting when ever my app restart. I don't have to go to setting all the time.
from iOS11, in setting it shows device is connected whenever i restart my App but it does not actually connect to it i had to disconnect or to forget device and fresh connection.
I notice that this is true for Bluetooth devices on iOS11.
is it a BUG in iOS11? or some keys i need to add to the .plist?
Thanks

It seems to be a bug on iOS side.
I am following this Apple developer forum thread for a while https://forums.developer.apple.com/thread/79395.
Someone found that the iOS 11.2 beta solved the problem. I am currently trying on my side with my external accessory.

Related

iOS 11 random disconnection with external bluetooth device

I use CoreBluetooth framework to connect external bluetooth device, in all iOS don't have random disconnection, but on iOS 11 it disconnect.
Maybe some one has any idea what's wrong with ios 11 and corebluetooth, CBCentralManager?
My app worked disconnected every 5 minutes on iOS 11.0.x,(I'm sorry for the correct version), But in iOS 10 or eralier version is OK. So I try to change the peripheral deviece, change a Android phone to test, both of them are running OK.
Then I update the version to iOS 11.1.1, And the BUG looks like to be FIXed.
Your bluetooth device is disconnected when your iphone/ipad goes to sleep. This is due to iOS 11 is requiring all application to add background mode to their info.plist. Look at screenshot provided below, add it to your app's info.plist and that will resolve your iOS 11 randomly disconnect issue when device goes to sleep.

Xcode 9 Wireless debugging not working

For some reason the wireless debugging does not work here. Here is what I've done:
Using newest Xcode 9
Using newest iOS 11 on my iPhone 7+
Both devices are in the same network
Connected the iPhone via Lightning, selected "Connect via Network" in the Devices & Simulator menu
Run an app on the iPhone while still connected via Lightning - everything works
But as soon as I unplug the phone, Xcode is no longer able to connect with the phone. I can ping the phone with the Mac, but even the "connect via ip" option in Xcode does not work.
Anybody got tips on how to get this working?
I had the same issue, but it was intermittent - i.e. sometimes the globe would not appear next to the phone name in Xcode Devices and Simulators window and when the phone was disconnected from the lighting cable, I could not debug to it from Xcode. My fix was much simpler, though - I just turned WiFi on and off both on the Mac and on the phone. After the devices reconnected to the network wireless debugging was available again. This seems to be an issue with the network communication (regardless whether the device can be pinged or not).
Make sure System Preferences->Internet Sharing is enabled using USB ports:
I was able to find a solution to this on another stack overflow question:
How do you perform wireless debugging in Xcode 9 with iOS 11, Apple TV 4K, etc?.
You can also check this answer: "Connect via network" wireless debugging not working Xcode 9
Near the bottom, from "IOS DEV". Briefly, the solution ended up to be to unpair my phone, disconnect and re-pair. After that Xcode automatically added it with the globe. As an FYI, I was able to ping my iPhone using the network utility prior to the un-paring but was still unable to get the phone to connect. good luck.
Restarting xcode is the only thing that fixed this intermittent connectivity problem for me.
I realized this can also happen if my Mac is connected to a VPN. I had to:
Kill the VPN connection
Turn the computer's wifi off and back on
Open Devices and Simulators
Plug the device in and the globe icon should appear.
Unplug the device and make sure the globe icon is still there.
Run the app via network!
Wireless debugging mysteriously stopped working for me until I turned off my VPN client. I now believe that I had the VPN turned off when I was trying it out the first time, but then the VPN auto-connected after my computer restarted sometime later.

iOS app rejected because app crash on iOS 10.2 on ipv6

I have uploaded my app to Apple store. I am using iOS 10.2. After upload, I got a rejection message:
Your app crashes on iPad and iPhone running iOS 10.2 connected to an IPv6 network when we:
Specifically, we found that the app crashes after sending messages on Wi-Fi
How can I solve this?
If you app contains webservices and you have implemented NSURConnection then please convert all NSURLConnection to NSURLSession . .
My App got rejected for the same reason, but it was not the issue. The reason my app got rejected because it got crashed on login button click.
It was working when i compile and run with xcode (ie xcode 8.2.1) but apple said it was crashing.
So i tried running it in release mode because we usually run our app in debug mode when we run on xcode.
from
to
And my App crashed when i ran it on release mode and i found the bug, it happened when the compiler tried to optimise a decryption function.
I think there is some issue with the new llvm 8.0 compiler.
Now my App got even approved by AppStore.
The answer is fairly simple, you're going to have to try and reproduce the crash and fix it.
Apple won't let apps into the App Store of which it finds crashes for. I'd recommend finding a friend/family member who has an IPv6 enabled network (if you can't enable it yourself) and attempting to use your app in various conditions under that network.
The App Review network, like the networks deployed by service providers, does support IPv6-to-IPv6 connectivity. Thus, if your server supports IPv6, your app will talk to it directly, without going through the NAT64 translator.
Please check your link is support ipv6 or not use this LINK
and read more
Just add a CDN (Example: Cloudflare) to your domain, change nameservers accordingly and make sure IPv6 compatibility feature is turned ON. This worked for me

Pairing a bluetooth device with iOS using Cordova

I'm connecting to a BLE device in a Cordova application using the ble-central plugin. I can connect to the device from the application without a problem, when I connect to the device from iOS I get prompted for the PIN and on entering the PIN I get connected, all as expected.
The problem is that the device does not get remembered on iOS, and that every time the application is restarted, or if the connection fails, I get prompted for the PIN again.
Is there a way to force iOS to remember the device? The strange thing is that even though I can connect to the device from the application, or something like the LightBlue application I cannot seem to detect the device from the settings.
Not sure if this is some iOS limitation, if the device should somehow be iOS enabled like older devices did? It seems to me I wouldn't be able to connect at all if that was the case?
Any help or idea is appreciated.

Xcode iOS Bluetooth pairing issues

Once a Bluetooth device has been stopped and the connection is lost. Is it possible for the iPhone to automatically pair to that device once it is turned on again? Instead of manually going into the iPhone settings to connect that device.
It is not related to iOS device. Auto parse is the job of the device you are trying to connect (I am using EA framework, not core bluetooth). I have the same problem on current project. What we did is update firmware that can remember last connection, so next time it will automatically connect to iPhone.

Resources