iOS 项目更新:从 Xcode 4.2 升级到 Xcode 4.5

8

enter image description here

在我的项目中,我使用XCode 4.2进行了90%的开发(只需要支持4.x,5.x)。现在我也需要为iOS 6构建,因此我切换到了Xcode 4.5和iOS 6。但是我遇到了很多问题,例如“Sqlite3”、“MobileCoreServices”的框架错误。

我已经阅读了以下线程,但没有成功:

如何使Xcode 4.5项目在先前版本的Xcode上工作?

Xcode链接器选项未找到目录

请问有人能告诉我如何为ARMV7和ARMV7S编译“Sqlite3”、“MobileCoreServices”框架?我不能从项目中删除它们,因为我已经做了很多修改: (


你把框架的引用删除了再重新添加了吗?还是说出了什么愚蠢的错误? - tkanzakic
感谢您的快速回复。我已经移除了“但是”,但在XCODE 4.5中没有MobileCoreServices和Sqlite3框架。 - Mangesh
谢谢,我的项目快要完成了,完成后我会转移到4.6。 - Mangesh
我有一台新的Mac电脑,上面直接安装了Xcode 4.5,没有从4.2升级到4.5。 - Mangesh
让我们在聊天中继续这个讨论。 (Let us continue this discussion in chat.) - Mangesh
显示剩余2条评论
6个回答

3

目前尚不确定问题的确切原因,但您可以通过以下任何一种情况来解决您的问题。

情况1:

可能是由于缺少任何库文件,例如libsqlite3.dylib和libsqlite3.0.dylib或MobileCoreServices,因此请从其他计算机复制这些文件并将这些文件放置在您的计算机上。

步骤:

1:在存在这些文件的计算机上打开xcode,从链接二进制文件中的库中添加libsqlite3.0.dylib到您的项目中。 2:右键单击libsqlite3.0.dylib并显示在finder中(对于MobileCoreServices也是如此)。 3:复制两个文件libsqlite3.0.dylib和libsqlite3.dylib,并将其放置在缺少这些文件的其他计算机的相同位置。

这样就可以解决问题了。

情况2: 重新安装XCode,它可能会正常工作。

情况3: 请查看答案

希望对您有所帮助。


2
当单击项目资源管理器中的项目时,对于每个目标,请选择该目标。然后在构建阶段中,在链接二进制库时,检查您的框架链接。
如果出现简单的问题,您可以先将库删除再重新添加。
如果库未为arm7s构建,则进入目标的体系结构中,在有效体系结构中仅设置为armv7。看看是否解决了该问题。如果是,则需要为armv7s构建框架。

0
在你的 .pch 文件中,添加以下内容。
#import <SystemConfiguration/SystemConfiguration.h>
#import <MobileCoreServices/MobileCoreServices.h>

0

尝试删除此框架...然后从SDK 6.0中再次添加它(目标->构建阶段)


0
Mangesh,由于您正在将项目更新到iOS 6,因此您的框架有时会丢失。为了添加它们,请转到构建阶段,然后打开“链接二进制文件”选项卡,并像下面屏幕所示一样添加两个缺失的文件。

enter image description here

这应该能帮助您添加库并准备构建它。如果您仍然遇到问题,您还可以在“构建设置”下为项目添加框架搜索路径(这将是框架的本地路径)。并且请确保框架路径是递归的。


0

在iOS 6中,可以使用sqlite 3和MobileCoreServices。

  • 删除红色引用
  • 进入Targets属性 -> Build Phases,选择Link Binary With Libraries部分
  • 点击添加按钮并添加libsqlite3.dylib和MobileCoreServices.framework。

    如果列表中没有libsqlite3.dylib。请使用文本编辑器打开xcodeproj,然后搜索并删除对libsqlite3的隐藏引用。然后再试一次。

  • Xcode截图,Link Binary With Libraries截图

Vivien


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接