takepicture()vs UIGetScreenImage()

时间:2009-10-07 13:57:58

标签: iphone uiimagepickercontroller cgimage

我正在尝试为我们的研究小组正在为iPhone工作的项目构建QRCodeReader。经过大量研究后,我发现该程序名为QuickMark。该程序自动扫描QRCodes。它似乎做的是加载UIImagePicker并从相机读取数据。我怀疑它正在使用UIGetScreenImage并从相机中截取并解码它。

现在我尝试使用3.1 iPhone API中的新takepicture()方法,但似乎无法做到以上所做的事情,即每隔一秒左右拍摄照片,默默无闻。现在我听说UIGetScreenImage可能不合法,如果他们使用它,Apple会转身并拒绝访问你的应用程序。所以,我的问题是:

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

b)takepicture()方法是否可以做同样的事情?

7 个答案:

答案 0 :(得分:2)

“法律”是一个非常模糊的术语,但我认为你的意思是该应用程序会被拒绝。有一个可能导致应用程序拒绝的清单,但最灰色的区域之一是使用私有标头。谷歌在他们的搜索应用程序中侥幸逃脱了它,但是互联网在愤怒中肆虐了几个月,而人们写了非常严厉的博客托管。最重要的是,你可以随心所欲,但如果你被抓住,祝你好运。

API几乎按照它们的工作方式工作,它应该足够简单,可以使用takepicture将调用循环到NSTimer,只需要小心你的工作方式,看起来像是一个沉重的过程对我来说。

答案 1 :(得分:1)

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

答案 2 :(得分:1)

RedLaser绝对使用UIGetScreenImage()。快速浏览一下库中的符号就可以确认它。

答案 3 :(得分:0)

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

答案 4 :(得分:0)

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

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

答案 5 :(得分:0)

现在应该更新某些内容了吗?

UIGetScreenImage现在应该是合法的。

答案 6 :(得分:0)

有一种方法可以在不使用UIImagePickerController或UIGetScreenImage()的情况下从相机捕获视频数据。
它自AVFoundation Framework中的iOS 4.0开始提供。 see here how.