2010-08-02 9 views
5

Zacząłem kilka dni temu eksperymentować z rozwojem platformy iPhone, a podczas czytania o jej wielozadaniowości dowiedziałem się, że "wykonanie zadania" może być bardzo przydatne.iPhone Task Completion

I googled trochę, przeczytaj dokumentację dostępną na developer.apple.com/iphone, ale nadal nie znalazłem czegoś: czy istnieje sposób na wykonanie tego zadania uruchomić pętlę (prawdopodobnie nieskończoną), lub zegar, który działa jak co 10 minut?

wiem, jak to jest „oszustwo” i prawdopodobnie mają pewne środki zaradcze, ale mimo, że byłoby dobrze, aby spróbować :)

Odpowiedz

3

Przy realizacji zadania? Nie. Można jednak powiedzieć, że aplikacja jest aplikacją audio z możliwościami tła, na przykład skonfigurować sesję audio z właściwością kAudioSessionProperty_OverrideCategoryMixWithOthers, zapętlić dźwięk, który nie odtwarza dźwięku. Pozwoli to użytkownikowi wyjść, uruchomić iPoda lub coś innego i sprawić, by gra była normalna, dopóki aplikacja będzie działać dalej.

Testowałem to w przykładowej aplikacji i działa. Jest to jednak wątpliwe i nie polecam go. (Prawdopodobnie zostanie również odrzucone, jeśli Apple się o tym dowie.).

+1

Możesz mieć tylko jedną aplikację audio w tle na raz, czy możesz mieć wiele? Wygląda na to, że jeśli użytkownik otworzy aplikację na iPoda lub coś w rodzaju Pandory, Twoja aplikacja zostanie wyłączona. – lucius

+1

Dopóki aplikacja, która otwiera urządzenie audio, korzysta z tej właściwości, którą zdefiniowałem powyżej, możesz mieć dowolną liczbę źródeł dźwięku. Jednak aplikacje takie jak iPod nie. Przestaną grać, jeśli ktoś inny chce uzyskać dostęp do audio. Jeśli jednak uruchomisz aplikację z powyższą usługą, będzie ona odtwarzana, mimo że iPod zażądał dostępu, a iPod nie będzie się nią przejmował, ponieważ uzyska dostęp. System jest wystarczająco inteligentny, aby pozwolić iPoda grać, ale wie tyle, aby nie zatrzymać drugiej aplikacji, ponieważ dobrze miesza się z innymi. – jer

+0

Nadal nie byłem w stanie tego wypróbować, było to raczej teoretyczne pytanie, muszę przyznać, ale wydawało mi się, że jest to świetny sposób na utrzymanie otwartości aplikacji w tle. To smutne, że prawdopodobnie dość szybko rozładujesz baterię, szczególnie w połączeniu z innymi aplikacjami lub różnymi zadaniami przetwarzania uruchamianymi przez tę samą aplikację. – wintermute

Powiązane problemy