2016-07-28 2 views
-1

Я не уверен, что Apple разрешает подобные вещи. Я просто хочу сделать приложение для захвата экрана, любое приложение открыто на iPhone не только в текущем приложении. Предлагайте любые решения.Можно ли программно отображать экран iPhone?

+0

Вы можете захватить вещи, которые находятся на 'UIView', но вы не можете захватить, которые находятся на' UIWindow'. Например: если вы представили 'UIAlertView', это не будет захвачено, но другие подпункты UIView будут –

+0

, что означает, что я могу захватить то, что на экране моего приложения. кроме того, что я не могу ничего сделать в My UIWindow iphone. – kalpesh

+0

Вы не можете захватить навигационную панель и все элементы, которые представлены в UIWindow, таких как AlertView, ActionSheet и т. Д. –

ответ

0

Нет, не бойтесь. Благодаря песочнице, у вас есть доступ к окну собственного приложения.

0

You can't capture screen of another applications or windows rather then your application. It's restricted by apple.

Вы можете захватить экран вашего приложения с помощью UIGraphicsBeginImageContextWithOptions. для этого вы можете обратиться к this so post.

+0

Мы не можем захватить любые объекты, которые находятся в UIWindow, например 'UIAlertView', или вы можете сказать' UIAlertController' –

+0

Спасибо, Lion :) – kalpesh

+0

Добро пожаловать ..... :) @kalpesh – Lion

0

Здесь вы можете найти всю информацию о фоновых задачах здесь: https://developer.apple.com/library/ios/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/BackgroundExecution/BackgroundExecution.html Но я не думаю, что Apple позволит вам делать скриншоты других приложений, так как это может привести к проблемам безопасности.

-2

Вы не можете захватывать экран других приложений, кроме своего собственного приложения. Вот код, чтобы взять снимок экрана зрения

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); 

}