2012-01-25 124 views
4

我已经从ABBYY获得试用许可并获得了用于iPhone的试用SDK。但我无法在我的设备上构建和调试项目。它给出了一个错误:“_OBJC_CLASS _ $ _ CMocrManager”,引用自:尝试构建ABBYY Mobile OCR SDK示例代码时出现构建错误

该应用程序在模拟器中正常工作(示例中提供了一个图像)。

请帮忙,我附上截图。

+0

嗨,@ Rakesh。你解决了你的问题吗?或者您需要ABBYY OCR Engine的帮助吗? –

+0

稍微不相关,但如果你使用的是iOS 5,ImagePickerController需要更新为'[self dismissModalViewControllerAnimated:YES]'而不是'[[self parentViewController] dismissModalViewControllerAnimated:YES]'...为什么Apple做了一个U型转弯在这种工作方式,我永远不会知道! – jowie

回答

4

我所接触的技术支持ABBYY移动SDK和下面是关于版本号的响应:

“我发现,有没有办法看到Mac上的dll库的版本号操作系统(只能在Windows中看到,我对此造成的不便表示歉意)。“

然后就生成错误我也跟着下面由他们作出批示:

您使用ABBYY OCRМobile引擎的最新版本,所以这个问题是在项目设置。

下面请查找指令如何在Xcode 4.3,iPhoneSDK 5.1上运行iPhone样本。

当您启动Xcode并打开“Sample.private.xcodeproj”项目时,Xcode显示工作区窗口。工具栏可以快速访问右上角的“查看”按钮组。点击此处按钮“隐藏或显示导航器”(或通过主xCode菜单:视图→导航器→显示项目导航器)。

“项目导航器”出现在包含单个项目“Sample.private”的工作区窗口的左侧。

单击项目导航器中的“Sample.private”项目图标。 “项目编辑器”面板出现在项目导航器的右侧,显示元素Project→Sample.private和元素Target→Sample。

选择项目→Sample.private和设置上的标签BuildSettings以下设置:

•构建设置→部分体系结构:

基地SDK =“最新的iOS(iOS 5中。1)”

构建有源体系仅=是

架构设置的其余部分应该自动成为:

架构=标准(ARMv7的)

支持的平台= iphonesimulator的iPhoneOS

有效体系结构= armv6 armv7

•指定参数的开发人员许可证er代码签名中的代码签名身份。

•要指定应用程序支持的最小操作系统版本,请在部署部分中设置iOS部署目标。

选择目标→样品。这里还打开标签构建设置和做几乎一样的项目→Sample.private:

•构建设置→部分体系结构:

构建有源体系仅=是

清理剩下的体系结构的设置:

架构= ARMv6的

“基SDK”= “最新的IOS(iOS的5.1)”

个支持的平台= iphonesimulator的iPhoneOS

有效的架构= ARMv6的

•指定的部分代码签名参数代码签名身份的开发者许可。

•要指定操作系统版本是你的应用程序将支持最低,在部分部署设置iOS的部署目标:

iOS的部署目标的iPhone = OS版本上,样本开始计划。

然后调整,默认情况下从主菜单Xcode的打开方式运行Sample.app:产品→编辑方案:

•参数目标应该是iOS设备(在的情况下,如果移动设备断开连接目前的计算机),或者应该有目前连接到您的计算机的设备的名称,您将在其中运行该示例。

•将Info选项卡上的参数Build Configuration更改为iPhone.Debug。

现在尝试在设备上启动样本。

此外,我们的测试工程师已经注意到,当样品安装在设备上并且在调试模式下不起作用时,您可能会看到“错误启动远程程序:无法获取xxx任务”的消息。这个问题的解决方案在iOS开发人员的不同论坛中详细描述。您可以尝试通过从移动设备上删除除开发人员之外的所有配置配置文件来解决此问题。

我能够成功构建样本。

感谢nikolay和锐利的帮助我。

1

这是一个链接问题。错误消息前面的链接程序警告清楚地表明,构成SDK的.a文件(libAbbyyMsdk.a)针对的架构进行了编译,该架构不同于项目针对的armv6架构。您可以联系供应商并要求他们提供.a文件的armv6目标版本,或者您的项目与.a文件的架构相同。

+0

嗨shrptooth,你能帮我这个:1)产品的内部版本号(确定内部版本号,请参阅FREmbed.dll本地菜单中的属性);出现此错误是因为您使用的构建版本过时;我如何从这个FREmbed.dll文件获取内部版本号? – Rakesh

+0

@Rakesh:SDK包中应该有一个类似自述文件的文件,其中包含内部版本号。 – sharptooth

相关问题