Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

UIGetScreenImage will be reject now?

Tags:

ios

capture

I know UIGetScreenImage is a private api, and in a period time can use in the appstore.

and later someone said can't use anymore.

So I ask here to make sure, Can use in my app and pass to Appstore?

Best Regards

like image 682
user501836 Avatar asked Apr 01 '12 06:04

user501836


3 Answers

Take a look at this Apple tech note. It shows how to "legally" do screenshots in UIKit where it will get accepted into the App Store:

http://developer.apple.com/library/ios/#qa/qa1703/_index.html#//apple_ref/doc/uid/DTS40010193

like image 83
Michael Dautermann Avatar answered Nov 10 '22 08:11

Michael Dautermann


They have been rejecting it again for a long time, since iOS 4 release in 2010 when they introduced AVFoundation framework which was a solution for all the camera frame capturing that UIGetScreenImage() was mostly used for before.

They offered two alternatives, one for camera frames (Technical Q&A QA1702) and one for UIKit elements (Technical Q&A QA170 - the one that Michael mentioned), but neither of those is nearly enough usable for taking actual screenshots.

You can read the announcement at developer forums (iOS Developer Program account required).

like image 28
Filip Radelic Avatar answered Nov 10 '22 08:11

Filip Radelic


Around a year ago, Apple started to run static analysis on submitted binaries during the App Store review process. Before that, access to private APIs will pass the review if the functionality itself wasn't too obvious to be caught by the reviewer.

Currently, reviewer uses automated methods to identify private APIs by their names. I recall reading somewhere that, not only aren't you allowed to call them, but also can't you use private API names in Category method names. I imagine because the scanning process is automated, you wouldn't have a shot to pass the review if you did use undocumented methods.

like image 1
He Shiming Avatar answered Nov 10 '22 08:11

He Shiming