2012-04-01 12 views
5

Wiem, że UIGetScreenImage jest prywatnym api, a w pewnym okresie czasu można go wykorzystać w sklepie appstore.UIGetScreenImage będzie teraz odrzucić?

i później ktoś powiedział, że nie może już więcej używać.

Pytam więc, aby się upewnić, czy mogę używać w mojej aplikacji i przekazywać do Appstore?

Pozdrawiam

Odpowiedz

1

Około rok temu, Apple zaczął biec analizy statycznej na złożonych plików binarnych podczas Przegląd aplikacji App Store. Wcześniej dostęp do prywatnych interfejsów API przejdzie pozytywnie, jeśli sama funkcjonalność nie będzie zbyt oczywista, aby mógł zostać przechwycony przez recenzenta.

Obecnie recenzent korzysta z automatycznych metod identyfikacji prywatnych interfejsów API według ich nazw. Pamiętam, że przeczytałem gdzieś, że nie tylko nie możesz do nich zadzwonić, ale także nie możesz używać prywatnych nazw API w nazwach metod. Wyobrażam sobie, ponieważ proces skanowania jest zautomatyzowany, nie zrobiłbyś sobie zdjęcia, żeby przekazać recenzję, gdybyś użył nieudokumentowanych metod.

7

Spójrz na tym firmy Apple tech notatki. To pokazuje, jak „legalnie” robić zrzuty ekranu w UIKit gdzie będzie Przyjęcie do App Store:

http://developer.apple.com/library/ios/#qa/qa1703/_index.html#//apple_ref/doc/uid/DTS40010193

+3

Świetnie, ale dlaczego pasek stanu nie zostanie zrobiony? –

+0

Ale alternatywa dla CGImageRef UIGetScreenImage (void); nie daje 2x obrazu po zrobieniu zrzutu ekranu? Na przykład obraz zrzutu ekranu zwrócony z tego prywatnego interfejsu API to 640x1136 na wyświetlaczu siatkówki, ale inny kod alternatywny daje tylko 320x568 tylko – jailani

+0

dlaczego ty (lub Twoi użytkownicy) dbasz o @ 2x podczas tworzenia zrzutów ekranu, @iOSDeveloper? Powinieneś zadbać tylko o wyświetlenie siatkówki i grafiki @ 2x (o wyższej rozdzielczości), gdy tworzysz * swoje aplikacje, a nie generujesz z nich zrzuty ekranu. Jeśli uważasz, że obraz "UIGetScreenImage" ma wadę, zawsze możesz przesłać prośbę o ulepszenie do firmy Apple za pośrednictwem http://bugreporter.apple.com –

2

Od dawna odrzucają go od dawna, od premiery iOS 4 w 2010 r., Kiedy to wprowadzili platformę AVFoundation, która była rozwiązaniem dla wszystkich przechwytywania klatek kamer, z których wcześniej używano głównie modelu UIGetScreenImage().

Zaproponowali dwie alternatywy, jeden dla klatek kamery (Technical Q&A QA1702) oraz jeden dla elementów UIKit (Technical Q&A QA170 - ten, który Michael wymienionych), ale żadna z nich jest prawie tyle użyteczny do robienia zrzutów ekranu rzeczywiste.

Możesz przeczytać ogłoszenie pod numerem developer forums (wymagane konto w programie dla programistów iOS).

Powiązane problemy