UIGetScreenImage - 私有 API

发布于 2024-08-14 04:29:47 字数 205 浏览 3 评论 0 原文

然而,我在我的应用程序中使用了 UIGetScreenImage,众所周知,Apple 拒绝使用私有 API 的应用程序。我研究了使用 takepicture 来实现此目的的替代方法,但您会得到不同尺寸的图像以及烦人的快照声音。微软标签。 Quickmark 和 Redalaser 都使用 UIGetScreenImage (这是显而易见的),但我想合法地这样做。有没有人有任何建议。非常感谢。

I was using UIGetScreenImage in my app, however, as everyone knows Apple is rejecting apps using private APIs. I have researched alternate ways to do this with takepicture but you get different size images as well as the annoying snapshot sound. Microsoft tag. Quickmark and Redalaser all use the UIGetScreenImage (it's obvious) but I want to do this legally. Does anyone out there have any suggestions. Much appreciated.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

怪我鬧 2024-08-21 04:29:47

这可能有用......我认为这是另一个问题的答案。

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

This might work... I think that it was the answer to another SO question.

-(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; 
}
雅心素梦 2024-08-21 04:29:47

UIGetScreenImage 是目前 Apple 推荐的捕获屏幕的方式。这是一种私有方法,但他们在开发者论坛中声明,在添加等效的公共 API 之前,使用它是可以接受的。

更新:从 iOS 4 开始,不再允许 UIGetScreenImage;我相信现在公认的拍照方式是使用 AVFoundation 框架。

UIGetScreenImage is currently Apple's recommended way of capturing the screen. It's sort of a private method, but they've stated in the developer forums that using it is acceptable until they add a public-API equivalent.

Update: UIGetScreenImage is no longer allowed, as of iOS 4; I believe the approved way to take pictures is now using the AVFoundation framework.

吃素的狼 2024-08-21 04:29:47

最好(也是最慢)的做法是向 Apple 提出功能请求。

The best (and the slowest) thing to do is to file a feature request at Apple.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文