UIGetScreenImage - Частный API - PullRequest
       13

UIGetScreenImage - Частный API

1 голос
/ 04 декабря 2009

Я использовал UIGetScreenImage в своем приложении, однако, как все знают, Apple отклоняет приложения, используя частные API. Я исследовал альтернативные способы сделать это с помощью takepicture, но вы получаете изображения разных размеров, а также раздражающий звук снимка. Тэг Microsoft. Quickmark и Redalaser используют UIGetScreenImage (это очевидно), но я хочу сделать это легально. У кого-нибудь есть предложения? Очень ценится.

Ответы [ 3 ]

3 голосов
/ 05 декабря 2009

Это может сработать ... Я думаю, что это был ответ на другой ТАК вопрос.

-(UIImage *)captureView:(UIView *)view {
    CGRect screenRect = [[UIScreen mainScreen] bounds];    
    UIGraphicsBeginImageContext(screenRect.size);
    CGContextRef ctx = UIGraphicsGetCurrentContext(); 
    [[UIColor blackColor] set]; 
    CGContextFillRect(ctx, screenRect);
    [view.layer renderInContext:ctx];
    UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    return newImage; 
}
3 голосов
/ 13 июля 2010

UIGetScreenImage в настоящее время рекомендован Apple для захвата экрана. Это своего рода частный метод, но на форумах разработчиков они утверждают, что его использование допустимо до тех пор, пока они не добавят эквивалент публичного API.

Обновление: UIGetScreenImage больше не разрешено, начиная с iOS 4; Я считаю, что утвержденный способ делать снимки теперь использует платформу AVFoundation.

0 голосов
/ 05 декабря 2009

Лучшая (и самая медленная) вещь - это подать запрос на добавление функций в Apple.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...