使用ZBarSDK(iOS的条形扫描库)时,我遇到了同样的错误。当我将它上传到我的开发设备或在iOS6模拟器上测试时,它运行正常。但是当我尝试为Distribution运行它时,它失败了:
(null):文件是通用的(3个切片),但不包含(n)armv7s切片:/ Users / quique123 / Documents / iphone apps / ScanThis / ZBarSDK / libzbar.a for architecture armv7s
其中libzbar.a是sdk中的库。
有什么想法吗?
答案 0 :(得分:16)
打开ZBar代码Mercurial代码仓库
http://zbar.hg.sourceforge.net/hgweb/zbar/zbar/summary
转到bz2 / zip / gz链接下载当前来源(首选格式)
http://zbar.hg.sourceforge.net/hgweb/zbar/zbar/archive/fa84e0427c24.tar.bz2(自此发布日期起) http://zbar.hg.sourceforge.net/hgweb/zbar/zbar/archive/fa84e0427c24.zip(截至本日期) http://zbar.hg.sourceforge.net/hgweb/zbar/zbar/archive/fa84e0427c24.tar.gz(截至此日期)
打开'iphone'子目录
打开'zbar.xcodeproj'文件
在方案的菜单中选择libzbar并在支持的架构中构建自己的二进制版本
打开该项目的DerivedData并导航到Build / Products /
查看libzbar.a的所有文件夹
答案 1 :(得分:11)
只需从Target Aguilar Settings中的Valid Architectures中删除不良架构,您就可以了:)
答案 2 :(得分:7)
选择目标时>构建设置(全部)>架构>有效的架构。
当你得到上述错误时,通过双击该行删除armv7s(现在可能是[armv7 armv7s])并选择armv7s并按下( - )按钮。
就我而言,这解决了错误。 不确定这是否会有进一步的缺点..
编辑:现在我确信这至少有一个缺点:该项目不适用于iPhone 5。 对此的解决方案是重新编译ZBar源,如下所述:ZBar library for iPhone 5(ARMV7s)
答案 3 :(得分:4)
您可以在下面的网址中下载ZBarSDK的新版本。
答案 4 :(得分:1)
我刚刚在构建设置/有效架构中替换:“armv7”为2行“armv6”和“armv7”
(通常我只在提交到iTunes时才会出现此链接器错误,但在设备中没有调试)
答案 5 :(得分:0)
只需删除“armv7s”,这将有效:)
答案 6 :(得分:0)
设置'仅构建活动架构'发布时为YES。当我遇到同样的问题时,我通过这样做解决了我的问题。