I have obtained the trial license from ABBYY and obtained the trial SDK for iPhone. But I can not build and debug the project on my device. It gives an error : "_OBJC_CLASS_$_CMocrManager", referenced from:
The application works fine in simulator (with one image provided in the sample).
Please help, i have attached the screenshot.
I have contacted the Tech support of abbyy mobile sdk and following was the response regarding build number:
"I found out that there is no way to see the build number of the dll library on Mac OS (it could be seen only in Windows, I apologize for the inconvenience)."
And then regarding the build error i followed following instructions given by them:
You use the latest release of ABBYY Мobile OCR Engine, so the issue is in the project settings.
Below please find the instruction how to run the sample for iPhone on Xcode 4.3, iPhoneSDK 5.1.
When you launch Xcode and open the “Sample.private.xcodeproj” project, Xcode displays the Workspace window. The toolbar provides quick access to the group of the buttons “View” in the right upper corner. Click here the button “Hide or show the Navigator” (or the same via the main xCode menu: View → Navigators → Show Project Navigator).
The “Project navigator” appears in the left side of the Workspace window containing the single project “Sample.private”.
Click the “Sample.private” project icon in the project navigator. The panel “Project Editor” appears to the right of the project navigator, displaying the element Project → Sample.private and the element Target → Sample.
Select Project → Sample.private and set up the following settings on the tab BuildSettings:
• Build Settings → the section Architectures:
Base SDK = "Latest iOS (iOS 5.1)"
Build Active Architecture Only = Yes
The rest of Architectures Settings should become automatically:
Architectures = Standard (armv7)
Supported Platforms = iphonesimulator iphoneos
Valid Architectures = armv6 armv7
• Specify the developer license for the parameter Code Signing Identity in the section Code Signing.
• To specify which OS version is the minimum that your application will support, set the iOS Deployment Target in the section Deployment.
Select Targets → Sample. Here also open the tab Build Settings and do almost the same as for Project → Sample.private:
• Build Settings → the section Architectures:
Build Active Architecture Only = Yes
Check up the rest of Architectures settings:
Architectures = armv6
"Base SDK" = "Latest iOS (iOS 5.1)"
Supported Platforms = iphonesimulator iphoneos
Valid Architectures = armv6
• Specify the developer license for the parameter Code Signing Identity in the section Code Signing.
• To specify which OS version is the minimum that your application will support, set the iOS Deployment Target in the section Deployment:
iOS Deployment Target = OS version of iPhone on which the sample start is planned.
Then adjust the scheme Run Sample.app that opens by default from the main xCode menu: Product → Edit Scheme:
• the parameter Destination should be iOS Device (in a case if a mobile device is disconnected from the computer at present) or there should be a name of the device connected to your computer at present on which you are going to run the sample.
• change the parameter Build Configuration on the tab Info to iPhone.Debug.
Now try to launch the sample on the device.
Besides, our testing engineers have noticed that you can have a message like “Error launching remote program: failed to get the task for xxx.” when the sample is installed on the device and does not work in the debug mode. A solution of this issue is described in details at different forums of iOS developers. You can try to solve this by deleting all provisioning profiles except the developer one from mobile device.
And I was able to succesfully build the sample.
Thanks nikolay and sharptooth for helping me in this.
That's a link problem. The linker warning that preceeds the error message says clearly that the .a
file that constitutes the SDK (libAbbyyMsdk.a
) is compiled for the architecture that differs from the armv6
architecture for which the project is being targeted. Either you contact the vendor and ask them for a armv6
targeted version of the .a
file or you target your project for the same architecture as the .a
file.