0

我目前正在通过 Xcode 构建一个利用 corelocation.framework 的 iOS 应用程序,但不幸的是我遇到了一些麻烦。我下载了 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 已弃用。

4

1 回答 1

5

查看您的错误报告,您似乎已经设法将其复制CoreLocation.framework到您的项目目录中。

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

我不知道你是怎么把它弄到这里的,但是你需要做的第一件事是从那个位置删除 .framework 文件,然后在你的 Xcode 项目中删除对 CoreLocation.framework的现在红色的引用。

然后执行以下操作:

  • 在导航器中单击您的 xcode 项目以调出项目设置。
  • 点击你的目标
  • 点击“构建阶段”
  • 展开“将二进制文件与库链接”部分
  • 单击“+”并开始输入“CoreLocation”
  • 选择出现的那个

旁注:

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

于 2012-08-07T01:35:28.853 回答