I recently noticed that there are some apps in the iOS app store which claim to be able to change the color of both the status bar and the dock of the iOS Springboard. This seems impossible because such system-wide changes are almost never allowed by Apple, and after some googling I have found no answer. Here is an example of a dock color changing app, and here is an example of a status bar changing app.
Searching SO appears to bring up code for changing the status bar in the app, which is not very difficult, but not outside of the app. However, this functionality has clearly existed for a while, for example in the Voice Memos native iOS app, which turns the status bar red while recording.
Lastly, apps such as voice Memos and the native Music app appear to bring up special controls or animations when in use on the lock screen. It is possible to use the built-in iPod lock screen controls for other music apps, (see here), but I have seen no examples of custom lock screen app controls that made it through the app store.
Sorry to pack so many questions in one, but these are all examples of apparent across-system functionalities which I and likely many others would like to replicate, and thus merit attention.
As a postscript, is it possible that the color changes in dock and status bar are done but changing those parts of the wallpaper extremely so that when seen through the translucent UI they look like less bright but still noticeable colors? Thanks!
All of the examples app you have given just change your background. Since the statusbar and dock are translucent they change color when you set the background made with these app as you background.
The red bar from the voice memos is a system indication that some app is recording, this is not something you can change. The The status bar will become green when you there is an active phone call going and you open any app. The same with tethering.
You can not add any custom lock screen controls, there is no option for this in the SDK.
Related
I want to change the text of red bar shown below, how do I do it? I see it when my swift app is currently using the microphone and is in the background.
You cannot change it yourself.
This is a system level event that occurs when your app is running in
background stage and using services like location, audio, etc. This
link discusses about the types of background services an app can
use.
We are currently developing an app that uses peer-to-peer audio/voice transfer through APIs. When the app is in the background, a message appears in the in-call status bar reading “XXX (Recording)”. If we remove the in-call status bar altogether the voice goes to mute when the app is in the background. Apparently this message comes from Apple because it doesn’t appear in Android Samsung devices. We would like to change the content and perhaps the color of the in-call status bar in order to remove the word “Recording”. Please refer to attached screen shot. So any advice on the in-call status bar modification? Skype for example has its costume VoIP status bar
Thank you.
You cannot hide or customize the recording bar.
iOS chooses the colors and text of the bar depending on what you are doing:
Recordings are red, which is what you are doing.
Calls are green, which is what Skype is doing.
AirPlay and Personal hotspot are blue.
If you want the same color as Skype try changing your UIBackgroundModes to "voip" (or maybe look if you need to be using CallKit?)
Modifying recording bar (Color-text or anything) is NOT POSSIBLE in ios.
Hiding this when you are using Microphone is also NOT POSSIBLE. This bar appear as long as you use mic. Recoding or not, if mic is in use, It will display this bar. Its security measure for users to know that an app is listening to microphone.
I would like to know if there is a way to make your app show a status bar when the app is performing a specific function. Sort of like Shazam does when Auto Shazam is on, but this might be because the microphone and not something in Shazam's app code but I am wondering if there is a way to programmatically achieve this. Preferably in Swift but Obj-C also works.
This isn't done directly by the app, this is done by the OS when the app is using one of a few features in the background
The bar is red when an app is using the microphone in the background.
The bar is blue when an app is accessing location in the background.
The bar is also blue when a device is connected to the Personal Hotspot.
The bar is green when the telephone (including WhatsApp) is being used.
There may be more colours for other scenarios, but these are the ones I've come across.
I don't know of a way to add this bar on demand.
This is not a question about how to modify a view when the double status bar is shown.
Nor is it a question about how to mimic a double-height status bar within an app.
It is how to display, while an app is backgrounded, a double-height status bar. Namely, what are the preconditions and mechanisms for an app that wants to be accepted by the app store to use this functionality? Third party apps do, mostly telephony and navigation apps. Google Maps goes so far as to display turn-by-turn directions over the home view.
Now, one can do this outside legal APIs by getting the SBStatusBar class and sending it appropriate messages. The class' interface is available online. But I want to do it legitimately.
Here is one post asking the same question. The only answer is how to fake background recording, which brings up a 'recording' bar that is not controllable by the application.
Here is what I think so far: Background modes 'audio' and 'navigation' are allowed to do this. (EG, this question showing how to fake background audio recording). Again, I want to do it legitimately - so responses from developers who have done this with shipping app-store apps are greatly appreciated.
Thanks!
In IOS SDK, is it possible to change the heading of the Top red status bar(Double high status bar) as referred in the following link.
We are implementing a Voip app and we would like to make that more meaningful than just say "Recording"...
Unfortunately, it's not possible to do this. The double-height status bar is only used for VoIP and audio recording, as well as Personal Hotspot connections.
However, it you're interested in putting custom text in the status bar, then there are many great solutions (the one that I use is https://github.com/myell0w/MTStatusBarOverlay). And the best part is, it's not in violation if Apple's policies! Many apps, including the Gmail app, use this and have been on the App Store for a long time.