Moja oryginalna odpowiedź brzmi poniżej. To było ważne w momencie, kiedy je opublikowałem, ale Apple nie zezwala już na użycie UIGetScreenImage. Do mojej najlepszej wiedzy po uruchomieniu iOS4 nie ma alternatywy, jak czynią warstw z przekształceń 3D + aplikacja zostanie odrzucona, jeśli używasz UIGetScreenImage
Od docs deweloperem iPhone na renderInContext:
Dodatkowo, warstwy, które wykorzystują 3D transformacji nie są świadczone, nie są warstwy określające backgroundFilters, filtrów compositingFilter lub maska wartości.
Tak więc renderInContext nie jest funkcją, której należy użyć do renderowania warstwy, na której zastosowano transformację 3D.
Najlepsze co możesz zrobić, to zadzwonić: UIGetScreenImage, co w zasadzie daje zrzut ekranu, a następnie można wyodrębnić obraz z tego ekranu.
UigetScreenImage jest niedozwolone. Właśnie dostałam wiadomość od Apple z prośbą o zaprzestanie używania tej prywatnej funkcji i użycie -renderInContext: (na iOs 3.x) lub AV Foundation AVCaptureSession i powiązanych klas (na iOS 4). – vfn
Otrzymałem dzisiaj ten sam e-mail od Apple, a mój przypadek jest podobny do twojego. Najwyraźniej będziemy musieli pocałować się na pożegnanie wszystkim użytkownikom korzystającym z iOS3 lub pocałować na pożegnanie ... wszelkie myśli? – SpaceDog
Wystarczająco zabawne dziś jedna z moich aplikacji została odrzucona również za używanie UIGetScreenImage() ... testowałem na iOS4, ale renderInContext STILL NIE renderuje transformacji 3D, więc ... szczerze mówiąc nie wiem, co jest najlepsze w tej chwili –