Niedawno pobrałem Xcode 4.2 z pakietem SDK iOS 5 i od razu zauważyłem, że nie mogę używać mojego iPhone'a 3G z iOS 4.2.1 do debugowania. Mogę debugować i testować tylko na moim iPhonie 4 z zainstalowanym iOS 5.
Na każdym z moich urządzeń z systemem iOS mniejszym niż 5.0 Xcode mówi tylko „Ukończono działanie dla iPhone3GS” i nie uruchamia go. Mam cel wdrożenia ustawiony na 3,0, ponieważ nie używam żadnych funkcji w mojej aplikacji powyżej 3,0 i chcę mieć możliwość kierowania na wszystkie wersje 3,0 lub nowsze. Mam zainstalowane i aktualne wszystkie moje profile obsługi administracyjnej.
Zakończyłem i ponownie uruchomiłem xcode, wielokrotnie czyściłem kompilację. Próbowałem dodać armv6 w ustawieniach kompilacji architektury, ale nic nie pozwoli mi zbudować i uruchomić mojej aplikacji na moim starym telefonie z iOS 4.2.1.
Moje pytanie brzmi: czy nadal jest możliwe, aby aplikacje z nowym SDK działały na iOS w wersjach starszych niż 5? Jak mogę się upewnić, że moja aplikacja będzie nadal działać na niższych wersjach iOS, jeśli nie mogę ich zainstalować na moim starym telefonie?
Edycja: OK, wygląda na to, że iOS SDK 5 domyślnie porzucił wsparcie dla armv6. To, co musisz zrobić, to dodać armv6 w polu Architektury w Ustawieniach kompilacji zarówno dla celu, jak i projektu. Wtedy Twoja aplikacja będzie mogła działać na urządzeniach iPhone 3G. Odpowiedź można znaleźć tutaj Jak budować dla architektur armv6 i armv7 z iOS 5
iOS
wersji. Dodaj również zmianę jako odpowiedź, aby zaakceptować znalezione rozwiązanie, a to pytanie można oznaczyć jako odpowiedź.