2010-08-09 17 views
5

Nurkuję w rozwój iOS i buduję własną aplikację do budzika, aby zapoznać się z platformą i SDK. Jednym z API, którego się właśnie uczę, jest interfejs API Lokalnych Powiadomień, który, jak przypuszczam, jest tym samym API, którego używa Apple do implementacji swoich alarmów w aplikacji Zegar.Jak mogę zaimplementować funkcję "Odłóż" Apple w ich aplikacji Zegar?

Nie rozumiem, w jaki sposób realizują swoją funkcję "Odłóż". Jak rozumiem, Powiadomienia lokalne pozwalają wyświetlać użytkownikowi pole alertu, które ma co najwyżej dwa przyciski, gdy aplikacja nie jest uruchomiona na pierwszym planie, jeden przycisk do odrzucenia alertu i jeden przycisk do zabrania użytkownika do aplikacji . W aplikacji Apple Clock pojawia się jednak komunikat, że użytkownik otrzymuje okienko alarmowe z dwoma przyciskami, jednym przyciskiem do zamknięcia alarmu i jednym przyciskiem do "Drzemki" i przełożeniem alarmu bez uruchamiania aplikacji Zegar. Moje pytania są ...

  1. Gdy użytkownik kliknie przycisk „Drzemka”, jak sądzisz Apple restrukturyzacji lokalny Powiadomienie o alarmie bez uruchamiania aplikacji zegar? Czy sądzisz, że używają własnych prywatnych interfejsów API, które omijają ograniczenia powiadomień lokalnych, które zezwalają tylko na dwie opcje? Czy myślisz, że uruchamiają aplikację Zegar, aby zmienić termin powiadomienia lokalnego, po prostu nie pokazują uruchamiania aplikacji i rezygnacji?

  2. Dokumentacja mówi, że właściwość "alertAction" powiadomienia lokalnego jest tekstem wyświetlanym po prawej stronie pola alertu i suwakiem na ekranie blokady. Jednak w aplikacji Zegar Apple tekst "Odłóż" to lewy przycisk w polu alertu, ani tekst paska suwaka. Dlaczego to się dzieje wstecz?

Dziękuję bardzo z góry za twoje przemyślenia!

+0

Dlaczego uważasz, że jabłko używa powiadomień lokalnych? W rzeczywistości używają oni niektórych nieudokumentowanych do przełożenia drzemki, ponieważ obecnie nie możemy zaplanować lokalnego powiadomienia bez ponownego otwarcia aplikacji. – Daniel

+1

Zgaduję, że zakładałem, ponieważ właśnie to funkcjonalność najbardziej przypominała. – BeachRunnerFred

+2

@Daniel - chyba że pracujesz dla Apple, to ty zakładasz założenia :) –

Odpowiedz

5

Lokalny interfejs API powiadomień nie ma żadnego mechanizmu do robienia tego, co chcesz. Aplikacja budzika prawie na pewno nie korzysta z żadnej infrastruktury do lokalnych powiadomień, ale poprzedza je. Nawet jeśli jest uwzględniona w niektórych infrastrukturach dostarczanych przez lokalne powiadomienia, to z pewnością nie korzysta z publicznych interfejsów API.

Powinieneś file zgłosić błąd z prośbą o dodanie tej funkcji.

+0

zapisałem to jako błąd # 9381428. Dobry pomysł! – Moshe

+0

Złożyłem to ponownie jako bug # 11115712, prawie rok później: - \ – arya