我在Snow Leopard中开发了一个简单的应用程序。在Snow Leopard中编译它的构建配置是:(10.5 | Release | i386)。
当我尝试使用上述配置编译它时,它在应用程序委托文件中给了我这个错误,该文件是在我创建项目时自动创建的:找不到'NSApplicationDelegate'的协议声明。
所以我从其头文件中删除了<NSApplicationDelegate>
,并且编译成功。
虽然它在Snow Leopard中成功运行,但令我惊讶的是它的.app文件似乎不能在Leopard中执行。
任何人都可以建议我为什么会出现这种奇怪的行为,我该如何解决呢
谢谢,
Miraaj
答案 0 :(得分:1)
为了使这次运行,必须正确设置多个设置。 (有一天,我希望Xcode有一个神奇的“这个程序应运行什么系统?”列表,然后正确设置所有内容。但这既不在这里也不在那里......)
项目 - &gt;编辑项目设置 - &gt;构建选项卡:确保将Architectures / Base SDK设置为Mac OS X 10.5。
项目 - &gt;编辑项目设置 - &gt;构建选项卡:确保架构/有效架构列表包含您正在运行Leopard的系统类型(很容易省略ppc选项)。
项目 - &gt;编辑项目设置 - &gt;构建选项卡:确保未选中“体系结构/构建活动体系结构”
项目 - &gt;编辑项目设置 - &gt;构建选项卡:确保将部署/ Mac OS X部署目标设置为Mac OS X 10.5。
在项目下 - &gt;修改有效目标 - &gt;构建选项卡:检查相同的内容
现在,您说您必须删除一些10.6协议声明才能构建它。这意味着你已经完成了所有这些(为了谷歌的缘故,我主要写了答案的顶部部分;但它仍然值得仔细检查)。所以现在我很好奇“在Leopard中看起来不可执行”的症状是什么。
它会立即崩溃吗?操作系统不将其视为可执行包吗?别的什么?
您是否尝试从Leopard上的命令行运行可执行文件(cd到MyApp.app \ Contents \ MacOS,然后运行./MyApp)。那么会发生什么?当你这样做时,什么被打印到控制台?
基本上,你没有告诉我们什么是错误的,我们真的可以提供足够的帮助。
答案 1 :(得分:0)
检查您的构建设置。特别是部署:MacOS X部署目标
答案 2 :(得分:0)
检查Info.plist中的值为
Minimum system version (LSMinimumSystemVersion)
答案 3 :(得分:0)
miraaj:~ keyss$ otool -L -arch all /Users/keyss/Desktop/Release_2/XYZ.app/Contents/MacOS/* /Users/keyss/Desktop/Release_2/XYZ.app/Contents/MacOS/XYZ (architecture x86_64): /System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa (compatibility version 1.0.0, current version 12.0.0) /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0) /usr/lib/libSystem.B.dylib (compatibility version
1.0.0, current version 111.1.4) /usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 227.0.0) /System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices (compatibility version 1.0.0, current version 32.0.0) /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 476.18.0) /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (compatibility version 300.0.0, current version 677.24.0) /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit (compatibility version 45.0.0, current version 949.46.0) /Users/keyss/Desktop/Release_2/XYZ.app/Contents/MacOS/XYZ (architecture i386): /System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa (compatibility version 1.0.0, current version 12.0.0) /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0) /usr/lib/libSystem.B.dylib (compatibility version
1.0.0, current version 111.1.4) /usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 227.0.0) /System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices (compatibility version 1.0.0, current version 32.0.0) /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 476.18.0) /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (compatibility version 300.0.0, current version 677.24.0) /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit (compatibility version 45.0.0, current version 949.46.0) /Users/keyss/Desktop/Release_2/XYZ.app/Contents/MacOS/XYZ (architecture ppc7400): /System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa (compatibility version 1.0.0, current version 12.0.0) /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0) /usr/lib/libSystem.B.dylib (compatibility version
1.0.0, current version 111.1.4) /usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 227.0.0) /System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices (compatibility version 1.0.0, current version 32.0.0) /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 476.18.0) /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (compatibility version 300.0.0, current version 677.24.0) /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit (compatibility version 45.0.0, current version 949.46.0)