-1

注:質問は重複していません!最初のいくつかのコメントを読んでください!

最新のXcodeを使用してOSX10.8でコードを記述し、スタンドアロンのルートレベルCFNetwork.frameworkフレームワークに対してリンクしました(/MacOSX10.8.sdk/System/Library/Frameworks/CFNetwork.framework)。アプリは10.8で正常に動作しますが、OSX10.6.8ではクラッシュします。

CFNetwork.frameworkOSX 10.6.8には存在しないように見えます(間違っている可能性があります) 。

私はそれをIOSプログラミング環境でしか見つけることができず、OSXプログラミング環境では見つけることができません。これは、CFNetwork.frameworkがOSX 10.6.8にないことが原因でしょうか?もしそうなら、フレームワークをプロジェクトに追加して、10.6.8で欠落しているように見えないようにする正しい手順は何ですか?

4

1 に答える 1

1

10.8 SDKを使用してアプリを開発し、ルートレベルに対してリンク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 に答える