Пользовательские iPhone управления камерой (без использования UIImagePickerController)

голоса
13

Хотя я понимаю, что для того, чтобы приложения iPhone, чтобы быть принятым на App Store, одно требование в том, что только документированные библиотеки должны быть использованы.

Если это так, то как некоторые приложения, такие как «Night Camera» и «Camera Plus» с использованием управления камерой, которая, кажется, что-то другое, чем содержащийся в UIImagePickerController?

Я слышал о некоторых случаях, когда разработчик был дан «специальный» доступ к некоторым заголовкам, которые позволяют возможности, которые иначе были бы невозможны, если ограничены только с использованием документированных библиотек. Однако, учитывая то, как непрозрачный процесс выбора приложения для App Store, я предпочел бы придерживаться того, что рекомендуется, а не рискнет.

Ли кто-нибудь пролить некоторый свет на это?

Задан 18/02/2009 в 17:39
источник пользователем
На других языках...                            


4 ответов

голоса
8

Вы видели это ОБСУЖДЕНИЕ?

http://blog.airsource.co.uk/index.php/2008/11/11/views-of-uiimagepickercontroller/

и этот пример кода для пользовательского сборщика?

http://www.codza.com/custom-uiimagepickercontroller-camera-view

Надеюсь, поможет.

Ответил 25/03/2009 в 22:25
источник пользователем

голоса
6

Вы можете проверить с classdump частных каркасных заголовков яблока. Выполнить этот скрипт на языке Perl:

http://arstechnica.com/apple/news/2008/11/dumping-the-iphone-2-2-frameworks.ars

и перейдите в каталог PhotoLibrary под PrivateFrameworks. Некоторые из классов здесь выглядят довольно перспективными для прямого доступа к камере.

Использование недокументированных API может повредить ваши шансы на прохождение через магазин приложений, но все это очень субъективно - Если ваш продукт хорош, яблоко, вероятно, пусть он скользит через. Я рекомендовал бы подружиться с евангелистом разработчиков в Apple.

Ответил 18/02/2009 в 19:32
источник пользователем

голоса
1

UIImagePickerController является UIViewController подкласс, который управляет иерархию представления. Вы можете играть с точки зрения иерархии, так как эти приложения являются, но это рискованно, учитывая, что компания Apple не документирует это и может изменить его на любое обновление операционной системы.

Я не слышал, чтобы кто-нибудь отдаются специальный доступ к библиотекам, но я читал, что есть незначительное различие между нелегальными классами и методами и частными структурами. Незарегистрированные классы серая зона, но частные структуры, безусловно, не допускаются.

Ответил 18/02/2009 в 19:37
источник пользователем

голоса
0

Простое объяснение состоит в том, что приложения в магазине не предполагается использовать неподдерживаемые API-интерфейсы, но это не проверено последовательно. Приложения вы упомянули, либо использование неподдерживаемых функций / классов / методов, либо играют с точкой зрения hierarchy--, который сам по себе не документирован, даже если это может быть сделано с помощью стандартного API.

Вы могли бы сделать то, что они делают, и ваши шансы с ним. Просто надо знать о рисках. Ваше приложение может (а) быть отвергнуто из магазина, (б) быть приняты, но позже загрузились (это произошло для неподдерживаемых использования API), (с) быть приняты и не загрузились, но перерыв в следующий раз Apple, имеет новое обновление iPhone программного обеспечения (с неподдерживаемым API, или просмотреть иерархии могут изменяться без предупреждения). Или вы могли бы получить повезло, и нет ни одного из этого.

Ответил 18/02/2009 в 20:10
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more