takepicture() 与 UIGetScreenImage()

发布于 2024-08-06 21:59:37 字数 518 浏览 10 评论 0原文

我正在尝试为我们的研究小组正在为 iPhone 开发的项目构建一个 QRCodeReader 。经过大量研究,我找到了名为 QuickMark 的程序。该程序自动扫描 QRCodes。它的作用似乎是加载 UIImagePicker 并从相机读取数据。我怀疑它正在使用 UIGetScreenImage 并从相机中截取屏幕截图并对其进行解码。

现在我尝试使用 3.1 iPhone API 中的新 takepicture() 方法,但这似乎无法完成上面的操作,即每秒左右静静地拍照。现在我听说 UIGetScreenImage 可能不合法,如果苹果使用它,苹果将转身拒绝访问您的应用程序。所以,我的问题是:

a)Quickmark(或任何其他允许的应用程序)是否使用UIGetScreenImage(),如果是,是否合法,

b)是否可能对于 takepicture() 方法来做同样的事情?

I'm trying to build a QRCodeReader for a project our research group is working on for the iPhone. After much research I found the program called QuickMark. This program scans automatically for QRCodes. What it appears to do is load the UIImagePicker and read off data from the camera. I suspect it is using UIGetScreenImage and taking a screenshot from the camera and decoding it.

Now I tried using the new takepicture() method from the 3.1 iPhone API but that seems not to be able to do what the above does which is take photos every second or so, silently. Now I had heard that UIGetScreenImage is perhaps not legal and that Apple will turn around and deny access to your App if they use it. So, my questions are:

a) Is Quickmark (or any other allowed app) using UIGetScreenImage() and if so, is it legal and,

b) would it be possible for takepicture() method to do the same sort of thing?

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

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

发布评论

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

评论(7

风尘浪孓 2024-08-13 21:59:37

“合法”是一个非常模糊的术语,但我认为你的意思是应用程序会被拒绝。有一系列可能导致应用程序拒绝的事情,但最灰色的灰色区域之一是使用私有标头。谷歌在他们的搜索应用程序中逃脱了惩罚,但几个月来,互联网上一片愤怒,人们写下了措辞非常严厉的博客文章。最重要的是,你可以做任何你想做的事,但如果你被抓住,祝你好运。

API 几乎按照其工作方式工作,应该足够简单,可以循环调用 takepicture 带有 NSTimer 只是要小心你的做法,对我来说这似乎是一个严厉的过程。

"Legal" is a really vague term, but I think what you mean is would the app get denied. There is a laundry list of things that could cause app denial, but one of the grayest of gray areas is the use of private headers. Google got away with it in their search app, but the internet was ablaze in fury for a few months while people wrote very sternly worded blog entrys. Bottom line, you can do whatever you want, but if you get caught, good luck to you.

The APIs pretty much work the way they work, it should be simple enough to loop a call to takepicture with a NSTimer just be careful with how you do it, seems like a heavy handed process to me.

颜漓半夏 2024-08-13 21:59:37

RedLaser 肯定使用 UIGetScreenImage()。快速浏览一下他们库中的符号就证实了这一点。

RedLaser is definitely using UIGetScreenImage(). A quick glance at the symbols in their library confirms it.

掐死时间 2024-08-13 21:59:37

您的应用程序将因使用 UIGetScreenImage() 而被拒绝。

You will get your app rejected for using UIGetScreenImage().

一场春暖 2024-08-13 21:59:37

我的应用程序(今天)因使用此调用而被拒绝。 :( 当我输入时我正在寻找新的解决方案......

My app was rejected (today) for using this call. :( I'm searching for a new solution as I type ...

↘人皮目录ツ 2024-08-13 21:59:37

http://www.redlaser.com/SDK.aspx

这里他们暗示已经使用这个功能,参考这个页面。

http://www.redlaser.com/SDK.aspx

Here they are hinting at having used this function, with reference to this page.

ま柒月 2024-08-13 21:59:37

现在应该更新一些东西吗?

UIGetScreenImage 现在应该是合法的。

Something should be updated now ?

UIGetScreenImage should be legal now.

影子的影子 2024-08-13 21:59:37

有一种方法可以在不使用 UIImagePickerController 或 UIGetScreenImage() 的情况下从相机捕获视频数据。
从 iOS 4.0 开始,它就可以在 AVFoundation 框架中使用。 查看这里如何操作。

There is a way to capture video data from camera without using UIImagePickerController or UIGetScreenImage().
It is available since iOS 4.0 in AVFoundation Framework. see here how.

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