Can you protect content by not letting people screen capture in IOS? - ios

As my title says, is it possible to protect content in an app from being screen captured? Can you make an app notice when someone is trying to take a screenshot(photo) and replace the UI(view) with empty content ?

Short: Sort of. See this answer here: https://stackoverflow.com/a/14120549/322548
Long: You can protect your content by hiding passwords, etc. before a screenshot is taken or before your app goes to the background. However, detecting screenshots isn't as easy as it sounds. Until iOS 6 you can at least detect a screenshot being taken (see link above), but this might change with any new iOS release.

Related

Take screenshots programmatically of entire scrollable area of another app in iOS

Currently it is cumbersome for the user to repeatedly scroll and take a screenshot if they want to capture more than what can fit on the screen at a time.
I would like to implement functionality such that at the request of a user (e.g. via tapping a special button on a custom keyboard), screenshots of the entire scrollable area of the currently opened app are automatically taken and stitched together.
Is this possible? And if so, how?
To clarify, the application containing the scrollable area is a third party application over which I have no control, e.g. iMessage or Facebook.
Edit: I am aware of answers like this one and this one that are about taking screenshots within an app that I control. As far as I can tell, these are not applicable in my situation. Please correct me if I am wrong about this.
This is not possible. Each app is contained in a protected sandbox that no other apps have access to.
You could make a custom keyboard, but you still wouldn't have access to any of the views in the app that you don't control.

iPhone's Tone Color Change from an App

Recently, I have installed Twilight on my Android phone. Apparently is adds a color tone effect on the screen. Here are two screen shots taken from PlayStore.
Now my question is that is there a way to develop similar system display tone color set up application in iOS?
It is not possible as Apple restrict the developers to edit home screen. There are very limited features that we can access like Calendar, Gallery, etc. The above screenshot your are showing is related to Widget but there are no Widget concept in iOS.
Yes, it is certainly possible and I use an app that does this.
Have a look at https://github.com/anthonya1999/GoodNight, It's even open sourced.
However an app like this will most likely be denied from the App Store, but never the less it is possible.
Night Shift is supposed to bring something like this in iOS 9.3, though not to that extent.
I don't know of any public API that would allow an application to change that kind of parameter system-wise, though. Maybe in the Accessibility framework, but that would restrict it to app-wise, not system-wise.

iOS - take screenshot of springboard(home screen) programmatically

is it possible to take screenshot of home screen of iPhone before start my application in iOS.
I had tried google and stack overflow but it only allow to take screenshot of any screen of my application.
Look at the following screen which I want to make for my application background.
Any suggestion will appreciated.
Taking screenshots outside your sandbox is not possible unless you have Jailbreak since that would be huge privacy issue. Sorry to be bearer of the bad news.
One and probably only option is to ask user to choose background himself. Second option is to build Today extension, which is then shown in your notification center - then you would have background you desire.

Show a view on main screen while the app is in background in ios

Thanks in advance.
Is it possible to show a capture screen like assistive touch view in ios when we click on application icon.Means i want to show the iPad screen and top on the with transparent background a view need to display.
I want to create an app like this after clicking the app icon i want a screen like this on my main screen and i can able to customize it and capture the selected area. is it possible to do that. and is there any api for that.
i don't think you are allowed to capture the home screen in public api. this question had similar request.
How can I take a screenshot of the iPhone home screen programmatically
UIGetScreenImage() mentioned in the answer is very useful, if you only targeting Jailbroken phones.
However, i found an open source library called "Record My screen", which claim can
Record the display even on non-jailbroken iPhones.
I personally didn't test that, since i believe Apple would somehow find that and pull the app off (that happened to several apps before). If you really interested in it, maybe you can learn something from that library.
Hope that helps you.

Is there a way to have a different Default.png (splash image) for different languages/locales in iOS? [duplicate]

This question already has answers here:
Closed 10 years ago.
Possible Duplicate:
Localization of Default.png is not working
My splash screen has English text in it, so I would like to be able to have a different splash image when users have a different language set.
Is this possible?
Yes, it's possible. Pretty much the same way you localize all your resources.
You just need to provide a Default.png image and then enable all the languages you're interested in. The result is that you'll get a copy of the image for each language into the respective folders. Then edit (or overwrite) each image as you need. I have tested it right now and it works fine (on iOS 5 but I believe is the same for older versions). Here is a screenshot for easy reference:
EDIT:
Regarding any doubts about whether or not this is a good practice, this is straight from Apple's documentation:
In addition to including the launch images at the top level of your
bundle, you can also include localized versions of your launch images
in your app’s language-specific project subdirectories. For more
information on localizing resources in your app, see Table 6-2.
No.
Edit: Indeed, I'm dumbfounded. Like nevan-king I'm going to leave my answer nevertheless, since I still think that's the way it is intended to be done by the iOS guidelines (and my personal opinion about localizing whole images in order to localize its text...).
A splash screen is not intended to provide information. Splash screens are only shown for like a second or so, so it would be unfeasible to show text anyway.
Common practice for what you want to do is to use your image without text as splashscreen, and after that show a custom view with your image and localized text for a few seconds.
That way it will seem like you had a localized splash screen (and the text appears shortly after the image, which is fine).
However, keep in mind that the idea of iOS apps is fast responsiveness, so only show a "startup screen" if you must (for marketing reasons or whatever).
Read this for further information: http://developer.apple.com/library/ios/#documentation/userexperience/conceptual/mobilehig/IconsImages/IconsImages.html#//apple_ref/doc/uid/TP40006556-CH14-SW5
There's no way to do this. Instead, make a Default.png with no text.
Edit: I stand corrected. Just tried Alladinian's method and it worked. I'll leave my answer, as it's a useful technique to know.
You can do this pretty easily in Photoshop by selecting a square, then copying it and pasting it over the text. Use Marquee to select a square of your graphic (say an empty part of a navigation bar). Then hit "v" for the move tool. Use cmd-opt and move the square a little to the left, then cmd-opt-shift so that it doesn't move up or down. Move the square over the text and let go of the mouse button. Repeat as necessary.
If you want to see how Apple handles multi-language splash screens, open Maps or Mail. They have a Default screen with no text, then the text appears (in whatever language) when the app has loaded.

Resources