Iphone 忽略文件[path]文件中缺少所需的架构i386

Iphone 忽略文件[path]文件中缺少所需的架构i386,iphone,xcode,cocoa-touch,xcode4.5,Iphone,Xcode,Cocoa Touch,Xcode4.5,我对Xcode和Iphone开发非常陌生,遇到了以下问题: 我打开了一个新项目,添加了*.h和*.a文件(我从某个设备供应商那里收到)。 我得到以下警告: ld:警告:忽略文件/Users/udi/Desktop/Xcode/Xcode Projects/Scosche/libmyTrekSDK_armv7.a,在文件/Users/udi/Desktop/Xcode/Xcode Projects/Scosche/libmyTrekSDK_armv7.a中缺少必需的体系结构i386(2个切片) 如

我对Xcode和Iphone开发非常陌生,遇到了以下问题:

我打开了一个新项目,添加了*.h和*.a文件(我从某个设备供应商那里收到)。 我得到以下警告:

ld:警告:忽略文件/Users/udi/Desktop/Xcode/Xcode Projects/Scosche/libmyTrekSDK_armv7.a,在文件/Users/udi/Desktop/Xcode/Xcode Projects/Scosche/libmyTrekSDK_armv7.a中缺少必需的体系结构i386(2个切片)

如果忽略该警告,并尝试实例化头文件中提供给我的类,则会出现以下错误:

ld:警告:忽略文件[Path/FileName.a],在文件[Path/FileName.a]中缺少所需的架构i386](2个切片)

架构i386的未定义符号:

“_OBJC_CLASS_$_HRMonitor”,引用自:

ViewController.o中的objc类引用

ld:未找到架构i386的符号

叮当声:错误:链接器命令失败,退出代码为1(使用-v查看 调用)

我已经检查了框架搜索路径(如许多其他帖子所述),结果很清楚

更多信息:

  • 我使用的是Xcode 4.6.1
  • 这些文件当前位于项目的根文件夹中
  • 我正在使用单视图应用程序
    感谢所有帮助

    此警告表示您正试图在模拟器(i386)中使用为设备(ARM)制作的库

    可以使用此终端命令创建通用库:

    lipo -create lib_arm.a lib_i386.a -output lib_universal.a
    

    有关lipo命令的更多信息。

    如果您使用的是第三方代码,请记住某些SDK可能无法在模拟器上工作。当我在设备上运行项目时,我遇到的相同构建错误消失了。

    将目标的“构建设置>仅构建活动体系结构”更改为“否”


    这与Dmitry Zhukov的回答是一样的,但是通过Xcode而不是绕着它的背面来做。

    我很高兴这对您有所帮助:)我想armv7和i386都需要库,对吗?得到“无法打开输入文件:lib_arm.a(没有这样的文件或目录)”是否有一个特定的位置可以运行此命令?@shim,您应该将目录更改为静态库(arm和i386)所在的位置,如下:$cd/libs/$lipo-创建您的arm库的名称。您的386库的名称。a-output lib\u universal.aI在我的应用程序中有一个BluetoothManager.framework,包括两个.h文件。这个应用程序在iPad上运行得很好,但当我在模拟器上尝试它时,我发现了i386错误。找不到出路。