I have GuitarToolkit on my iPhone4S (iOS 5.01 - NOT jailbroken) It has a metronome feature which continues playing in the background, and also adds a red banner overlay (see screenshots) which persists on the home/lock screen and also when other apps are running. The banner is animating (background colour pulses) and it is also 'active' in that pressing it will return you to the GuitarToolkit app.
I know about the background audio APIs for the sound, but how does it do this banner? My first thought was local notifications, but nothing appears in notification center, and GuitarToolkit is not listed under Notifications in Settings.
My iPhone is not jailbroken and GuitarToolkit is available in the App Store, so what APIs is it using to achieve this?
Having an active AVAudioQueue creates that banner.
The banner appears because it’s got an open audio recording session—you’ll notice that the system Voice Memos app does the same thing, as does Shazam for a moment before it enters the background and Skype when you’re on a call with the app in the background. I’m not sure of the specific API, but that’s generally what’s going on.
Related
I have an application that gets hidden (but is still running in the background) when the screen saver starts on the 4th Generation Apple TV.
How can I bring the app to the foreground (hide screen saver) when an event (update to an endpoint which I am long polling) happens in my app which is running in the background?
I don't think there's any way to do this. When the screen saver is running, your app can still be the foreground app, but it will be in an inactive state. This is similar to what happens on iOS when the user locks the screen while using an app. Like the iOS lock screen, the user might be actively using the system when it's in this state. For example, you can use Siri without dismissing the screen saver.
I searched a lot and didn't find how to programmatically bring application to background so phone's home screen is shown. I don't want to terminate app, but just to programmatically make press on HOME button. Is there any way to do it?
No, unfortunately not. There is no public API that allows you to send a user back to the homescreen.
As shown in these questions:
iPhone - Sending the app to the background
Send App to Background process
Sending Application to background on iphone
Programmatically sending an iOS app to background
Brad Larson provides a detailed explanation to the answer of this question:
Suspend the application
Unfortunately, there is no background mode in iOS where the app can still run things while out of focus. Apple has designed the system to "pause" the application so state is preserved, but be careful the app can be terminated at any time.
You can do this by calling a private API but beware as said above Apple does not allow this on AppStore apps.
var x = UIApplication.SharedApplication;
x.PerformSelector (sel: new MonoTouch.ObjCRuntime.Selector ("suspend"), obj: x, delay: 5);
friends I am new to iphone development, I have mostly worked with Android, now I have to develop a small clock for Iphone which should be shown on lock screen like following app
http://itunes.apple.com/us/app/weather-lock-screen-free/id433369569?mt=8
just a start idea how can i place an app at iphone lock screen since i have already created the (analog ) clock, thanks for your help
Faisal
This app doesn't actually set the background of the lock screen. It asks the user to save an image, then the user has to set the image as the background for the lock screen manually.
There is no API to do what you want.
the app I'm working on supports iOS multi-task feature by default, and I want to stick with this.
Upon app launch, a splash movie clip is played (code is in AppDelegate), after user hits the home button, and re-launches the app, I want to the same splash movie be played before showing the last view where use was.
I know by switching off the multi-task support, I can achieve this, but in the meanwhile, I'm losing the multi-task support feature, and I need to write code to save/resume user states. So, is there any workaround for this? thanks!
You could try the app delegate's applicationDidBecomeActive: method but quite frankly I'd consider this to be user hostile behaviour. Who wants to see a movie every time they switch between apps? The point of multitasking on the iPhone is to quickly change between apps and this violates that.
I an interested in making animated wallpaper apps for the iPhone. This means that, once I click the app to open, it should not open up a view, and it should change the current wallpaper of the iPhone to the an animated wallpaper(which I have designed), while the App is running.
If I close the app, it should bring the iPhone back to the initial wallpaper.
How do I go about this ?
How can I modify changes to the wallpaper of the iPhone with my app.
How can I place my customized wallpaper in a way that the iPhone operates normally and you can scroll to other apps and stuff while the background wallpaper is animated ?
What tools are needed for that animation ?
If I understand you correctly, you want to create an application that swaps out the background wallpaper.
This can only be a jail broken app.
We do not have access to the springboard wallpaper on a normal device with the SDK. So this type of app can only be a jail broken app an a jail broken device and in a jail broken marketplace.
The methods you should implement are pretty simple. Would probably be an NSTimer that chooses randomly from an array of image names and sets the background wallpaper.
I do not know the immediate functions to use, and they are probably undocumented.
Background process app that is always running (like Mail).
In the function the timer calls, just make a UIView animation block that shifts the previous image where ever you want and shifts the new one into the view.
What I would suggest is get the functionality you want running in a project. Once that is all done, look into making it a jail broken app and running in the background (this is probably going to be the bulk of the work, and really really hard)
Currently you can not change a users wallpaper programatically, file a feature request with apple like many of us have :)...However you can do it on jailbroken phones...