链接SQLite3后出现XCode错误



添加libsqlite3.dylib到我的xcode框架文件夹后,我得到以下错误:

ignoring file /Users/AlexStein/Desktop/iPhone Applications/Persistence copy/libsqlite3.dylib, missing required architecture i386 in file

我添加sqlite3的方式如下:右键单击frameworks文件夹,选择"Add files to…",搜索libsqlite3.dylib。有两个是这些,两个是libsqlite3.0.dylib。我知道"3.0"并不适合模拟器,所以我选择了"3"中的一个。当我尝试选择另一个时,它只是说我已经添加了它,所以我认为它们是相同的。

我不知道为什么我得到的错误,因为我很确定我所有的代码是正确的。这与xCode有关。我很感激任何帮助!

您检查了项目设置吗?

苹果的Xcode 4与之前的版本不同。我们必须学习一个新的用户界面,必须解决一些先天缺陷。尝试以下步骤:

  • 导航到构建设置选项卡并检查架构组

  • 查看值,例如架构:标准(armv6 armv7),基础SDK:最新iOS (iOS 4.3),仅构建活动架构:No,支持平台:iphone模拟器,iphoneos和有效架构:armv6 armv7 i386.

  • 如果"Valid Architectures"仅设置为armv6和armv7,则删除两者。重启Xcode。我不知道为什么,但是你们中的一些人说它有帮助。设置"Valid Architectures"为$(ARCHS_STANDARD_32_BIT)。有效的体系结构将再次显示armv6和armv7,但这次它可能编译得很好。不过奇怪。

  • 除了标准armv6和armv7之外,手动将i386添加到"有效架构"中。请注意,i386是一个有效的体系结构,因为模拟器运行在您的Intel iMac(或MacBook Pro)上。

指出:

  • 修改代码以减少警告的数量,如下所示:123.4

替换:如果(self = [super init]) {:If ((self = [super init])) {

  • armv6通知:苹果在iOS 4.3中启动了一个主要的硬件切断。iOS 4.3取消了对任何基于armv6的设备的支持。旧的iPod touch/iPhone (1G, 2G, 3G)设备都在arm v6 CPU上运行。Armv6编译器不能与armv7或更高版本一起工作,但使用Xcode 4,您可以为运行iOS 4.2或更早版本的旧设备构建应用程序。在你的代码中寻找iOS和硬件版本使用适当的框架或其他对象,否则你会在运行时得到异常。苹果似乎在为armv8设备和iOS 5铺平道路。

相关内容

最新更新