Приложение, разработанное в Snow Leopard, не отображается в Leopard - PullRequest
3 голосов
/ 27 ноября 2009

Я разработал простое приложение в Snow Leopard. Конфигурации сборки, в которых он был скомпилирован в Snow Leopard: (10.5 | Release | i386).

Когда я пытался скомпилировать его, используя указанные выше конфигурации, он выдал мне эту ошибку в файле делегата приложения, который был создан автоматически при создании проекта: не удается найти объявление протокола для «NSApplicationDelegate». Поэтому я удалил <NSApplicationDelegate> из его заголовочного файла, и он был успешно скомпилирован.

Хотя он успешно работает в Snow Leopard, к моему удивлению, его файл .app не представляется исполняемым в Leopard.

Может кто-нибудь подсказать мне, почему он показывает такое странное поведение и как я могу его разрешить

Спасибо

Miraaj

Ответы [ 4 ]

1 голос
/ 27 ноября 2009

Есть несколько настроек, которые все должны быть установлены правильно, чтобы сделать этот запуск. (Однажды я хотел бы, чтобы в Xcode был волшебный список «На каких системах должна запускаться эта программа?», Который затем правильно все настраивал. Но это ни здесь, ни там ...)

Проект -> Изменить настройки проекта -> Вкладка «Сборка»: убедитесь, что для Architectures / Base SDK установлено значение Mac OS X 10.5.

Проект -> Изменить настройки проекта -> Вкладка «Сборка»: убедитесь, что в списке «Архитектуры / Допустимые архитектуры» указан тип системы, на которой вы запускаете Leopard (опцию ppc легко пропустить).

Проект -> Изменить настройки проекта -> Вкладка «Сборка»: убедитесь, что флажок «Архитектура / Только активная архитектура» не установлен

Проект -> Изменить настройки проекта -> Вкладка «Сборка»: убедитесь, что в качестве цели развертывания / Mac OS X установлено Mac OS X 10.5.

В Project -> Edit Active Target -> Build Tab: отметьте те же вещи


Теперь вы говорите, что вам пришлось удалить некоторые протоколы 10.6, чтобы получить его для сборки. Это подразумевает, что вы уже сделали все это (я в основном написал верхнюю часть ответа ради Google; но, вероятно, все же стоит перепроверить). Так что теперь мне любопытно, каковы симптомы «не выглядит исполняемым в Leopard».

Он сразу падает? Разве ОС не рассматривает его как исполняемый пакет? Что-то другое?

Вы пытались запустить исполняемый файл из командной строки на Leopard (перейдите в MyApp.app \ Contents \ MacOS, затем запустите ./MyApp). Что происходит потом? Что печатается на консоли, когда вы делаете это таким образом?

По сути, вы не сказали нам, что не так, достаточно подробно, чтобы мы могли действительно помочь.

0 голосов
/ 01 декабря 2009
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)
0 голосов
/ 27 ноября 2009

Проверьте ваш Info.plist на значение
Minimum system version (LSMinimumSystemVersion)

0 голосов
/ 27 ноября 2009

проверьте ваши настройки сборки. в частности, развертывание: цель развертывания MacOS X

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...