Я не уверен, что Apple разрешает подобные вещи. Я просто хочу сделать приложение для захвата экрана, любое приложение открыто на iPhone не только в текущем приложении. Предлагайте любые решения.Можно ли программно отображать экран iPhone?
ответ
Нет, не бойтесь. Благодаря песочнице, у вас есть доступ к окну собственного приложения.
You can't capture screen of another applications or windows rather then your application. It's restricted by apple.
Вы можете захватить экран вашего приложения с помощью UIGraphicsBeginImageContextWithOptions
. для этого вы можете обратиться к this so post.
Здесь вы можете найти всю информацию о фоновых задачах здесь: https://developer.apple.com/library/ios/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/BackgroundExecution/BackgroundExecution.html Но я не думаю, что Apple позволит вам делать скриншоты других приложений, так как это может привести к проблемам безопасности.
Вы не можете захватывать экран других приложений, кроме своего собственного приложения. Вот код, чтобы взять снимок экрана зрения
class Welcome: UIViewController {
if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)])
UIGraphicsBeginImageContextWithOptions(self.view.bounds.size, NO, [UIScreen mainScreen].scale);
else
UIGraphicsBeginImageContext(self.view.bounds.size);
[self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
UIImageWriteToSavedPhotosAlbum(image, self, nil, nil);
}
Вы можете захватить вещи, которые находятся на 'UIView', но вы не можете захватить, которые находятся на' UIWindow'. Например: если вы представили 'UIAlertView', это не будет захвачено, но другие подпункты UIView будут –
, что означает, что я могу захватить то, что на экране моего приложения. кроме того, что я не могу ничего сделать в My UIWindow iphone. – kalpesh
Вы не можете захватить навигационную панель и все элементы, которые представлены в UIWindow, таких как AlertView, ActionSheet и т. Д. –