UIGetScreenImage - Частный API

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

3 ответа

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

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

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

-(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; 
}

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

Другие вопросы по тегам