2013-06-13 2 views
3

Мое приложение было отклонено App Store по следующей причине.Лучшая практика для добавления рамки к Xcode

The app references frameworks in a fragile manner, which might result in bugs.

The app references the following frameworks using a relative path:

'/Library/Frameworks/iTunesLibrary.framework'

Best Mac OS X development practices suggest using (in order)

@executable_path/ @loader_path/ @rpath/

For more information about linking frameworks, please see the following documents:

  • Run-Path Dependent Libraries section of Dynamic Library Programming Topics

  • dyld(1) man page

Я прочитал предлагаемые документы, но я не понимаю, как они относятся к моему проекту. Я пытаюсь включить iTunesLibrary.framework, который, кажется, не является динамической библиотекой. Какова наилучшая практика добавления нестандартных фреймворков в проект? Должен ли этот путь быть абсолютным?

ответ

0

Go through this document .Это поможет вам много

+0

Я не совсем уверен, что почерпнуть из этого. 'iTunesLibrary.framework' установлен в/Library/Frameworks iTunes 11. Как включить его в проект Xcode, чтобы приложение не было отклонено по вышеуказанной причине? – abroekhof

0

Лучшая практика для соединения рамок:

Добавить рамки в список связанных библиотек: «Project >> Строительные Фаз> Ссылка Двоичные с библиотеками»

Затем вы можете ссылаться на библиотеку, используя угловые скобки:

#import <QuartzCore/QuartzCore.h> 
2

Ваша проблема здесь, вероятно, не о кадре работа передовая практика. Скорее это из-за странности библиотеки iTunes.

Для того, чтобы не включать явный путь к iTuneLibrary, вам необходимо добавить «/ Library/Frameworks» в пути поиска в рамках проекта в настройках сборки. (Да, я знаю, что это странно).

Тогда библиотека не загружается и дает вам зашифрованное сообщение об ошибке:

Could Not load iTunes Library because of error: Error Domain=NSPOSIXErrorDomain Code=100001 "Could not load." UserInfo=0x10340eaa0 {NSLocalizedDescription=Could not load., NSUnderlyingError=0x10341c610 "The operation couldn’t be completed. (OSStatus error 100005.)"} 

Это потому, что ваше приложение не подписанный код. Вам нужно будет подписать код, чтобы он работал.

Источник и пример: https://github.com/zadr/iTunesLibraryExample

Смежные вопросы