-1

注意:问题不是重复的!请阅读前几条评论!

我已经使用最新的 Xcode 在 OSX 10.8 上编写了我的代码,并链接到独立的根级CFNetwork.framework框架 ( /MacOSX10.8.sdk/System/Library/Frameworks/CFNetwork.framework)。虽然该应用程序在 10.8 中运行良好,但它在 OS X 10.6.8 上崩溃。

在我看来(可能是错误的)CFNetwork.framework在 OSX 10.6.8 上不存在。

我只能在IOS编程环境中找到它,而在OSX编程环境中找不到。这可能是因为 OSX 10.6.8 上没有 CFNetwork.framework 吗?如果是这样,将框架添加到项目中以使其在 10.6.8 上不会显示为缺失的正确程序是什么?

4

1 回答 1

1

您可以使用 10.8 SDK 开发您的应用程序,并链接到 root-level CFNetwork.framework,但您需要确保将部署目标设置为 10.6。这将确保链接器不会生成对CFNetwork.framework.

将输出otool与 10.8 部署进行比较:

MacPro:~ mdouma46$ otool -L /Users/mdouma46/.../CFNetwork\ Finagler 
/Users/mdouma46/.../CFNetwork\ Finagler:
    /System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa
    /System/Library/Frameworks/CFNetwork.framework/Versions/A/CFNetwork
    /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation
    /usr/lib/libobjc.A.dylib
    /usr/lib/libSystem.B.dylib
    /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
    /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit

和 10.6 部署目标:

MacPro:~ mdouma46$ otool -L /Users/mdouma46/.../CFNetwork\ Finagler 
/Users/mdouma46/.../CFNetwork\ Finagler:
    /System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa
    /System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices
    /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation
    /usr/lib/libobjc.A.dylib
    /usr/lib/libSystem.B.dylib
    /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit
    /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
于 2013-03-10T20:03:11.587 回答