Send audio to bluetooth device with AVPlayer IOS - ios

Hey I have a video app which uses AVPlayer, I received an email from a user saying he couldn't use his car's bluetooth anymore since I updated the app some time ago.
Now, I didn't tried to support bluetooth back then, but apparently this functionality came along with MPMoviePlayerController which I used before.
Is there a way to check if there's a bluetooth device connected and to send audio to it?
I've seen this question, but it didn't help, the volume control shows but no button letting me chose the output.
Do I have to do something else in order to use bluetooth as output?
I've only tested with my car's bluetooth, which works with phone calls and also other apps like Viber.

Related

iOS App to Ping Users Like Find My iphone "Play a Sound"

I have an idea for an app and have the design created but unsure how to go about doing it programatically. The idea is simple... ping a silent phone the way "Find My Phone" can make a silent phone make a sound. The idea is to have the app read an incoming text message with a command embedded in the text from an "authorized" user.
Example: #URGENT from my wife would make my phone sound even if it was on silent but #URGENT from my friend would not cause any action because he is not "Authorized" in my app.
From what I have found online, reading text messages in iOS is prohibited unless you build your own API/SKD (BMW reads the text from the notification center for their iDrive function) which will then get rejected by the app store. Is this correct or is there a way to do this?
My questions:
Can an app trigger an event by reading text messages with embedded commands like on Android?
In iOS is there any way to make a silent phone create a sound at full volume?
I've found that this is possible for Android, but I want to see if it is possible for iOS.
Unfortunately, the answer is no.
In order:
An iOS app has no access to the text messages of the user at all, so there's no way to trigger anything that way.
Not as a notification sound, but it's possible that by using a background audio session you could play a sound on a phone that is silenced, but still has the media volume up. However, Apple might not like this (you'd be using media playback APIs for alert noises, Apple doesn't want anyone circumventing the users decision to silence the phone).

How to prevent recording of iOS screen using quicktime

So with iOS 8, we can now record the screen of iOS devices. I've searched extensively and cannot find a way to detect, let alone prevent, this recording. The app I'm working on deals with some potentially sensitive information and images and would like to prevent this if at all possible.
Thank you in advance for your responses and insights!
Anthony
Apparently, there is some way to detect whether a display or QuickTime streaming is connected, because the Netflix app will show an error when that is the case (which also means you can't just use an iOS device and stream to your computer to watch it in big). The app works perfectly if QuickTime streaming is off with the cable is plugged in.
Maybe it just detects whether an external display is connected, and screen recording behaves like that, so basically you might have some success with these APIs and notifications.
Also, you could use an encrypted HTTP Live Stream according to Apple which would be blacked out in the stream / the recording.

Mute IPhone prorammatically is legal?

I gonna start working on an app that have basic functionality to mute phone(no sound from any app, ring tone).
I searched over net and found some private api's to do what I want.
Mute iPhone programatically
https://github.com/forensix/BBSettings
But found some articles saying that Apple will not approve such kind of apps. And when I searched over store I got an app link below
https://itunes.apple.com/us/app/autosilent/id474777148?mt=8
This is auto silent app, that put iphone to mute state.
So now I want all my seniors to let me know whether I can do this app or not?
The application that you mentioned has the purpose of muting the phone. Someone downloading it expects it to mute the phone. That's probably why it was accepted on the store.
If your app mutes the phone, and the user didn't expect it, they could very likely miss important phone calls unexpectedly, which could be very damaging. So you would need a very, very good reason to have that functionality in your code.

iPhone headphone audio jack re-routing

We created an external iOS notification light that uses the device’s audio for power.
When you get a phone call on iPhone and the light is plugged in, you still get the ringtone but when you pick up, the audio is rerouted to the headphones (the iPhone thinks our light/device is a headphones set) and the user has to extract myLED for at least 2mm to get the audio from the front receiver of the phone.
We have been exploring alternative solutions to this challange - recently we made a prototype with a particular jack shape so that it could be rotated by the user when getting a call to "reroute" the audio to the iPhone speaker/mic.
Although it may sound a clever option, this hardware solution is far from being neat - this leads to having positions where the myLED does not work/ it is not reliable, plus other complications.
I know of the existence of kAudioSessionOverrideAudioRoute_Speaker however I suspect that this will only direct the app audio to the rear speaker (the “loud” one) and not to the front receiver (because the “receiver” for the iphone is the headphones set if they are detected).
What would you suggest?
Super appreciated!
I think you're in a tough spot:
It's highly unlikely Apple will ever release the option to override audio routing for phone calls. As a key functionality of the phone, they tend to keep the call aspect under lock and key.
The headphone jack (probably - this is how most of them do it) uses the impedance between ground and one or both speakers or the remote control to determine if the plug is in. Other than breaking the circuit, there is no good way to simulate this.
The only options I think you have are these:
Require the user to remove the device when a call comes in.
Provide a microcontroller on the jack to drive a transistor; this transistor can electronically break the circuit to provide the same sort of impedance signature as an unplugged jack.
How, when, and if you can provide the information to the jack that a phone call is in progress is beyond my knowledge: is there an API for "incoming but not yet answered call" you can hook to? Will you have to do a watchdog thing to ensure communication with your app? Would it be possible for you to use the dock connector instead? I think these are really your options. Not a complete answer, but those are my thoughts.

Accessing streaming bluetooth data on iPad

I am currently writing an app using XCode that will allow the streaming of medical data to the app. Using the Alive Heart Monitor which streams live heartbeats over bluetooth spp, I want to be able to receive those live streams into my app.
Currently, I am not able to discover the AHM device and am not sure about how to go about receiving the live stream.
Is there any way to do this?
I've seen this article: http://www.devx.com/wireless/Article/43502/1954, however it seems to only work between 2 iPad/iPhones. I want to be able to just receive the live stream from a non-iOS device.
Any help would be appreciated!
I have consulted with developers on Apple forums and was made aware that this was not possible as iPad does not have support for the bluetooth SPP profile.

Resources