如何阻止Xcode忽略我的iOS应用程序的CoreLocation.framework?

时间:2012-08-07 01:31:34

标签: ios xcode core-location

我目前正在通过Xcode构建一个iOS应用程序,它利用了corelocation.framework,但不幸的是我遇到了一些麻烦。我下载了Apple的LocateMe示例应用程序,当我通过模拟器运行它时,它运行良好(没有错误或警告)。

然后,我构建了一个空的单页应用程序,并将corelocation.framework文件添加到其中。当我编译并运行它时,我收到一个警告:

 (null): Ignoring file/Users/Andrew/Documents/GoogleDrive/Developer/
 Xcode/Apps/GetLocation/CoreLocation.framework/CoreLocation, file
 was built for unsupported file format ( 0xce 0xfa 0xed 0xfe 0x c 0x
 0 0x 0 0x 0 0x 9 0x 0 0x 0 0x 0 0x 6 0x 0 0x 0 0x 0 ) which is not
 the architecture being linked (i386):/Users/Andrew/Documents/
 GoogleDrive/Developer/Xcode/Apps/GetLocation/CoreLocation.framework
 /CoreLocation

我尝试使用Finder找到框架并添加它,并将框架从Apple的应用程序拖到我的应用程序中。两者都会产生相同的警告。

除了文件目录看起来很好(我的应用程序存储在哪里)之外,我不能说上述错误,而i386我相信代表我的MacBook Air的集成图形芯片组。

我也尝试将Apple的应用程序降级到基本级别,但这很难 - 他们决定制作一个相当复杂的应用程序来代表该技术。

不幸的是,我对这一切的了解需要改进,而且我确实觉得自己正在接受这项任务,但我还是打赌这个 - 需要在15日之前完成工作!

因此,如果有人可以提供有关为什么要生成此警告的一些指导,以及我如何解决它,我们将不胜感激。

更新

我仔细看了一下Apple的LocateMe应用程序,我发现该版本适用于iOS 3.2。当我将其更改为iOS 5.1时,除了单个错误之外一切正常 - 不推荐使用locationServicesEnabled。

1 个答案:

答案 0 :(得分:5)

查看错误报告,看起来您已设法将CoreLocation.framework复制到项目目录中。

file/Users/Andrew/Documents/GoogleDrive/Developer/Xcode/Apps/GetLocation/CoreLocation.framework/CoreLocation

我不知道你是如何设法得到它的,但你需要做的第一件事就是从该位置删除.framework文件,然后删除现在的红色对Xcode项目中CoreLocation.framework的引用。

然后执行以下操作:

  • 在导航器中单击您的xcode项目以显示项目设置。
  • 点击目标
  • 点击“Build Phases”
  • 展开“链接二进制文件库”部分
  • 点击“+”并开始输入“CoreLocation”
  • 选择出现的那个

附注:

当您在上面的第5个项目符号点中选择CoreLocation.framework时,请确保选择iOS 5.1文件夹引用下的CoreLocation.framework。