Технические вопросы и ответы QA1748

Указание потребовало возможностей OpenGL App Store Mac

Q: Как я могу предотвратить клиентов, у которых нет требуемых возможностей OpenGL от закупок моего приложения от App Store Mac?

A: При создавании приложения на Льве Mac OS X 10.7 или позже, можно указать требования OpenGL при упаковке его для App Store Mac. Это обеспечит, чтобы только клиенты, у которых есть надлежащее аппаратное обеспечение машинной графики, были в состоянии купить Ваше приложение.

Это достигается путем указания дополнительных требований архивирования в plist файле. Выберите File> New> New File... из меню Xcode, затем выберите шаблон «Property List» под категорией «Ресурса» в разделе «Mac OS X» и следуйте следующим инструкциям для создания plist файла. Добавьте gl-renderer ключ и надлежащая строка оценивают в получающемся plist для указания требований OpenGL приложения.

gl-renderer ключ указывает предикат, по которому будет проверено каждое из аппаратных средств рендеринга OpenGL. Чтобы успешно купить и установить приложение, по крайней мере одно из средств рендеринга на машине клиента должно соответствовать требования предиката. Иначе, транзакция не пройдет через, и клиент будет уведомлен, что у него или ее нет требуемого аппаратного обеспечения машинной графики для запуска приложения. Следующие ключевые пути доступны для Вас для формирования строки определения:

Если Вы хотите проверить два или больше условия, можно использовать логические операторы, AND и/или OR, как показано в следующем перечислении:

Перечисление 1  , Проверяющее больше чем одно условие

( version >= 2.0
    OR ( ( 'GL_ARB_texture_float' IN extensions OR 'GL_ATI_texture_float' IN extensions )
           AND 'GL_ARB_vertex_blend' IN extensions ) )
AND ( limits.GL_MAX_TEXTURE_SIZE >= 1024 AND limits.GL_MAX_TEXTURE_STACK_DEPTH > 8 )

Ниже пара простых реальных примеров plist для Вашей ссылки:

Перечисление 2  Plist с gl-renderer ключ. Приложение не позволит покупать на Macs, не поддерживающих GL_APPLE_float_pixels (например, Intel GMA 950 и GMA X3100).

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>gl-renderer</key>
    <string>( 'GL_APPLE_float_pixels' IN extensions )</string>
</dict>
</plist>

Перечисление 3  Plist с gl-renderer ключ. Приложение не позволит покупать на Macs, не поддерживающих GL_ARB_texture_rg (например, Intel GMA 950, GMA X3100 и ряд Nvidia GeForce 7).

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>gl-renderer</key>
    <string>( 'GL_ARB_texture_rg' IN extensions )</string>
</dict>
</plist>

Когда у Вас есть plist готовый файл в Xcode 4, можно обеспечить, это с помощью «Предварительно устанавливает установку сборки» Списка свойств Требований. Посмотрите рисунок 1 для примера.

Рисунок 1  Предварительно устанавливать установка сборки Списка свойств Требований в Xcode 4

Xcode 4 автоматически предоставит plist к productbuild когда Вы создаете пакет из Организатора и представляете его App Store Mac.

Xcode 3 не поддерживает использование производственного определения plist. Если Вы принимаете решение создать свое приложение с Xcode 3, необходимо работать productbuild управляйте непосредственно для архивации Вашего приложения и предоставьте plist через --product опция. См. Перечисление 4 для примера.

Перечисление 4  путь Xcode 3 к предоставлению производственного определения plist

productbuild \
    --component build/Release/Sample.app /Applications \
    --product product_definition.plist \
    Sample.pkg

Посмотрите Таблицы Возможностей OpenGL для полного списка поддерживавших функций классом GPU.

См. страницу справочника productbuild команды на Льве Mac OS X 10.7 или позже для полного изложения команды.

Посмотрите Представление App Store Mac для получения дополнительной информации о том, как подать Вашу заявку с помощью Загрузчика Приложения или в XCode.



История версии документа


ДатаПримечания
22.02.2012

Добавленный, как обеспечить производственное определение plist использование Предварительно устанавливать установки сборки Списка свойств Требований в Xcode 4.

10.08.2011

Новый документ, обсуждающий, как указать требуемые возможности OpenGL App Store Mac так, чтобы только клиенты, у которых есть надлежащее аппаратное обеспечение машинной графики, были в состоянии купить Ваше приложение.