In my team's iOS app we have a bug when Siri is invoked while our app is running. Siri pops up and the waveform is shown very briefly and appears not to detect one's voice as the waveform remains very flat. Quickly thereafter it begins to list the things you can ask Siri.
We are using Xcode 6.3, tested on an iPad Mini with iOS 8.3 as well as an iPhone 5 with iOS 8.3.
The app never uses the microphone or queries any of the device audio inputs so I can't see this problem attributed to our app using the microphone directly. It does play looping ambient music and has sound effects.
Is there anything specific we should be calling an an interruption to ensure that Siri will work properly? Has anyone experienced similar issues?
This is most likely not related to your app. The iOS SDK doesn't provide a Siri API that could lead to this kind of events.
You may try to pause any ambient music/sounds effects whenever the app goes in background. (in AppDelegate.m)
Related
We have a WebRTC Swift 4.2 application using Google's native WebRTC code. We are having issues with Apple's App Slide Over Multitasking feature on iPads.
Issue:
What we are seeing is when our Application is running in a video call on an iPad as soon as another app is 'Slide Over' our app, our application stops using the video camera and microphone until the Slide Over app is closed. Once closed our application gets the microphone and camera back.
Expected Result:
Our application is still able to use the camera and microphone and the user is able to use both apps at the same time.
Questions:
Is there a setting we need to turn on to disallow Slide Over apps? If not is there a event we can subscribe to when the slide over happens so we can request camera and microphone access again?
What we have done:
We have set our application to require full screen in the project settings.
We have tried subscribing to the following events on the AppDelegate:
applicationDidEnterBackground, applicationWillResignActive, applicationDidBecomeActive. These events do fire once for the initial Slide over app open and close but not after consecutive Slide Overs with same app.
Turning on all Background mode capabilities. Has no effect.
On our ViewController.swift we have tried to subscribe to viewWillLayoutSubviews event. This event does not fire for apps opened with Slide Over.
Versions:
iOS 11.4.1
Swift 4.2
Xcode 10.1
I filed a bug report with Apple and they said,
"This sounds like expected behavior, given that only one foreground app is allowed at a time."
Our iPhone app is configured to play audio in the background, and most of the time it works well and the audio is playing.
But we had several reports from users that while the app is in the background and it IS playing audio, suddenly in the middle of playback it stops.
It seems to happen usually when the user is using apps like Facebook or WhatsApp heavily, sending and receiving many messages.
When the user returns to the app, it seems to start from the launch screen, as if it was closed, not just the audio stopped.
There seems to be no crash logs on the users phones when this happens.
What can cause this? What can we do to prevent this or what can we do to investigate when this happens? Can it be prevented entirely?
apple fixed this already.
Before the release of iOS 10.0.2, the only way to fix the bug was to unplug the EarPods and then plug them back in. Not all devices were affected, but it looks like Apple finally found the fix it promised earlier this week.
Here is an article: http://www.cultofmac.com/446417/apple-fixes-iphone-audio-issues-ios-update/
I'm working on a proof of concept app. I'm using Xamarin for iOS. The iPhone app runs in the background and watches for particular BTLE devices and speaks using TTS when the signal is at a certain strength. I have TTS working and I can recognize the BTLE devices when the app is in the foreground.
However, I'm having trouble getting either working when the iPhone screen is off. In Android, I'd just use a wake lock, but that appears to not be available in iOS. I tried setting the background modes in the info.plist file for BTLE and sound, but I don't see any processing happen while the unit is suspended. Can anyone point me in the right direction?
This is just a proof of concept, so I'm only looking at the latest iOS version and I'm interested in even hacky answers.
Thanks!
You will need to create at least one background task UIApplication.SharedApplication.BeginBackgroundTask and end it with EndBackgroundTask when you finish transferring your data.
Note that you will have approximately 10 minutes in background. If user switch back to the app the time will be reset.
You might also want to disable application idle timer to prevent the screen to go black when the user doesnt touch it.
I am using the ionic framework to record audio using the Media object. It was working fine but with recent iOS updates now after recording something and releasing the Media object, the sound is disabled in my app until I crash it. No sound will play form any other part of the app and the + - volume controls on the side of the phone produce no volume overlay. I don't understand enough about iOS to know what's going on.
Any help is appreciated.
Is there a way to start the audio recording when the application is in background. It doesn't looks possible if we intend to hit app store. But since we are developing on Jailbreak device I wouldn't mind using any private frameworks or hacks.
Also anybody worked out how to prevent the red status bar while record is happening in the background.