Неправильный формат Freetype Framework в приложении SFML для Mac

Мы только что завершили игру в SFML для Mac и отправили ее в магазин Mac. Мы используем SFML 2.0. Мы используем стандартный проект SFML в Xcode со сценарием ссылки, который копирует необходимые фреймворки. Игра отлично работает на всех компьютерах с Mac OSX 10.6-10.9. Проблема в том, что когда мы отправляем в App Store, мы получаем электронное письмо, в котором говорится следующее:

Неправильный фреймворк. Пакет фреймворка (Shibashiba.app/Contents/Frameworks/freetype.framework) должен содержать символическую ссылку 'freetype' -> 'Versions/Current/freetype'. Дополнительные сведения см. в Анатомии комплектов фреймворков.

Если я захожу в архивное приложение, папка freetype.framework находится в Contents/Frameworks и имеет символическую ссылку, указывающую на Versions/Current/freetype, поэтому я не понимаю, что означает эта ошибка. Может быть, это какая-то ошибка разрешений? Может ли дистрибутив FreeType, включенный в 2.0, быть каким-то образом испорченным? Любая помощь будет оценена по достоинству. Это наша последняя преграда для доставки!


person typeoneerror    schedule 01.01.2014    source источник


Ответы (1)


Я думаю, я понял это! По сути, скомпилированный файл freetype.framework, входящий в состав SFML, связан неправильно.

Если вы посмотрите в папке с помощью Finder, ссылки выглядят правильно, но если вы сравните его с sndfile.framework, он будет другим. Например:

sndfile.framework
    sndfile -> Versions/Current/sndfile
    Versions
        A
            sndfile
        Current -> A

против

freetype.framework
    freetype -> Versions/A/freetype
    Versions
        A
            freetype
        Current -> A

Вы можете видеть выше, что freetype указывает НАПРЯМУЮ на версию freetype "A", тогда как в правильном "Anatomy" он должен указывать на Current, который, в свою очередь, указывает на текущая версия.

Я изменил символическую ссылку, и Apple приняла исправленный двоичный файл:

cd /Library/Frameworks/freetype.framework
ln -fns Versions/Current/freetype freetype
person typeoneerror    schedule 02.01.2014