【问题标题】:My project runs in simulator fine but gives link error with device我的项目在模拟器中运行良好,但与设备出现链接错误
【发布时间】:2011-09-06 19:49:17
【问题描述】:

如果我尝试使用实际的 iphone 设备运行我包含的每个框架,我都会收到以下链接警告,但它在模拟器上运行良好:

ld:警告:忽略文件 /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.3.sdk/System/Library/Frameworks/UIKIT.framework/UIKIT, 文件是为不受支持的文件格式构建的,它不是 正在链接的架构(armv7)

Foundation、CoreGraphics 等出现同样的错误。

它曾经使用同一个 Storekit 在两个平台上都可以正常工作。

【问题讨论】:

    标签: iphone xcode ipad


    【解决方案1】:

    警告说您在为设备编译时尝试链接 Simulator SDK 的框架。不知道为什么,请尝试在项目设置中重新链接 StoreKit。此外,请确保您正在为正确的架构进行编译,或者只是构建一个胖二进制文件。

    【讨论】:

    • 是否假设有两个不同的 StoreKit 用于模拟器和设备?这在模拟器中运行良好,并且在我添加可达性功能之前在设备上运行良好。我没有接触任何与 StoreKit 相关的东西。在架构下,它说 armv6 和 armv7。可以吗?
    • armv6 和 armv7 都不错。这涵盖了 3G 和 3GS 设备。
    【解决方案2】:

    根据您所针对的操作系统版本,您可能需要包含其他框架以确保获得所有这些框架。在您的架构中,确保您包含 armv6 armv7 和 i386,以便它能够在模拟器以及您可以运行它的任何设备中正确构建和运行。

    【讨论】:

    • 我刚刚发现我收到了所有框架、UIKIT、Foundation、CoreGraphics 等的警告。过去一切正常,突然间我看到了这个。有什么想法吗?
    • 您的错误看起来只是在 StoreKit 框架上。您是否正在尝试为不支持它的版本构建?奇怪的是它可以在模拟器上工作,但不能在设备上工作。您尝试在什么设备和操作系统版本上运行它?
    • 它适用于所有框架。实际上我删除了 StoreKit,现在警告出现在其余框架上:对于我使用 iPhone(4.2.1,覆盖 Base SDK TO 4.3)的设备。我的操作系统是 10.6.8。我应该提到昨天一切都很好。我没有更改框架中的任何内容,这发生了。
    • 尝试清理你的构建。重建并查看。恐怕我没有主意了。我很同情,我在 XCode 中也遇到过类似的奇怪问题。继续打磨。
    • 感谢您的 cmets。这真是令人沮丧。您建议清理构建。我应该采取哪些步骤来做到这一点?谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多