Zbar SDK is not working in iOS6

筅森魡賤 提交于 2019-11-27 17:31:59

i recently faced the same issue. The problem seems to be that the ZBar SDK is not ready for the armv7s architecture.

I solved the problem this way:

  1. Go to the ZBar homepage and navigate to the mercurial repository (direct link)
  2. Download the zbar repository as zip.
  3. Unzip the file and navigate to the subfolder named "iphone".
  4. Open the XCode project.
  5. Delete the "Examples" folder (the folder caused a build error on my machine).
  6. Hit "CMD + B" and build the source.
  7. Find your new libzbar.a file. (User/Library/Developer/Xcode/DerivedData/zbar...)
  8. Replace the old libzbar.a file in your project with the new one.
  9. Hit "CMD + R" and you are good to go.

In Xcode, go to the settings of your target, change 'Valid Architectures'

from

armv7,armv7s

to

armv7

This change means your app will not take advantage of possible optimizations the new iPhone5 processor has, but you don't have to wait for 3rd party libraries to upgrade or mess with a hex editor.

Oscar S.

The hg sources download/re-compilation tutorial is great, but you don't need to do all that.

Just browse to http://sourceforge.net/projects/zbar/files/iPhoneSDK/beta/ and download ZBarSDK-1.3.1.dmg, and everything will work out of the box for the latest architectures (in my case armv7, armv7s).

Update:

Some of you reported issues with ZBarSDK on XCode 5, iOS 7 or architectures arm64... well I went back to this project today and experienced similar issues and found that there is a ZBarSDK library that is compiled to work with iOS 7 at: http://www.nerdvision.net/app-development/ios/zbar-sdk. I Just replaced the old files with the new ones and my project compiled. Note that the Architectures in my project's Build Settings are set to amrv7, arm64 ($ARCHS_STANDARD), Base SDK is set to iOS 8.0 and I have the Build Active Architectures Only flag set to Yes.

There is a question here at SO about this: zbar SDK dont work for armv7s(iPad 4 iOS 7)

Thanks to @cdescours for the tip!

iKambad

I have same problem but I just added armv6 and armv7 then it works for iOS6. Just insert armv6.

your binary library does not have code for armv7s. So you should recompile it for the current archtitectures.

gzfrancisco

Recompile the source, I download the source code for zbar and compile into new project. It's simple.

Clone the Mercurial repository and build with Xcode. It's very easy. Here's a link to the repository:

http://zbar.hg.sourceforge.net/hgweb/zbar/iphone/summary

Came here with the same problem after downloading the tutorial code RDC provided in his blog. Very useful post, but the most helpful answer here was posted by RacZo on 3/29. I just downloaded the original ZBarSDK-1.3.1.dmg image, removed the ZBarSDK from my project and replaced with the original. Done.

I am learning IOS development. After few days digging,

Here is the tutorial for installing ZBar SDK.

1, The accepted answer is correct, but with some limitations. (tried, works!)

2, The alternative solution is here. (tried, works!)

3, The best is to build the all different architectures separated then bind them using lipo: Great Solution (tried, brilliant!)

Some readings for understanding those architectures:

http://wanderingcoder.net/2010/07/19/ought-arm/

http://wanderingcoder.net/2011/09/25/compiling-armv7/

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!