Указание потребовало возможностей 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. Чтобы успешно купить и установить приложение, по крайней мере одно из средств рендеринга на машине клиента должно соответствовать требования предиката. Иначе, транзакция не пройдет через, и клиент будет уведомлен, что у него или ее нет требуемого аппаратного обеспечения машинной графики для запуска приложения. Следующие ключевые пути доступны для Вас для формирования строки определения:
version, поддерживаемая версия OpenGL как двойное. Можно использовать его, чтобы проверить, доступна ли требуемая версия OpenGL, например:version >= 3.2extensions, массив строк расширения OpenGL поддерживается. Можно использовать его, чтобы проверить, доступно ли требуемое расширение OpenGL, например:'GL_ARB_texture_float' IN extensionslimits.<gl-parameter>, целочисленное значение именованного параметра GL. Произвольные параметры GL могут быть проверены черезlimitsключ, с помощью того же символьного имени, определенного в заголовках GL, например:limits.GL_MAX_TEXTURE_SIZE >= 1024
Если Вы хотите проверить два или больше условия, можно использовать логические операторы, 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 для примера.


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 так, чтобы только клиенты, у которых есть надлежащее аппаратное обеспечение машинной графики, были в состоянии купить Ваше приложение. |