#import "Fraction.h" #import <stdio.h> @implementation Fraction -(Fraction*) initwithnumerator: (int) n denominator: (int) d { self = [super init]; } if ( self ) { [self setnumerator: n anddenominator: d]; } return self; -(void) print { printf( "%i/%i", numerator, denominator ); } -(void) setnumerator: (int) n { numerator = n; } Frameworki IOS Wykład 14 -(void) setdenominator: (int) d { denominator = d; } -(void) setnumerator: (int) n anddenominator: (int) d { numerator = n; denominator = d; Programowanie aplikacji mobilnych na urządzenia Apple (IOS i ObjectiveC)
Frameworki IOS Email Wiadomości (SMS/MMS) Twitter Facebook Zadania w tle Mapy i inne 2
Wiadomości Framework specjalizowane kontrolery widoku do prezentowania standardowych interfejsów email SMS (Short Messaging Service). Użycie tych interfejsów pozwala na dostarczanie wiadomości bez wychodzenia z aplikacji. 3
Message UI Wyświetla interfejs kompozycji Odpowiedni kontroler widoku wyświetlony modalnie prosto z aplikacji. Użytkownik ma możliwość dostosowania zawartości przed wysłaniem lub anulowanie wiadomości. Własny obiekt delegata obsługuje oddalenie kontrolera widoku na podstawie działania użytkownika. 4
MFMailComposeViewController 5
MFMailComposeViewController Class Dostarcza standardowego interfejsu do tworzenia i wysyłania wiadomości email Możliwe jest Wypełnienie pól wartościami inicjującymi temat, odbiorcy, treść, załączniki. Użytkownik może Edytować wartości inicjujące Wybrać czy wysłać wiadomość Anulować całą operację. 6
MFMailComposeViewController Class Nie gwarantuje natychmiastowej wysyłki wiadomości email. Użytkownik może anulować Wiadomość jest kolejkowana w skrzynce wiadomości wychodzących. Możliwość generowania wiadomości kiedy jest się offline Brak weryfikacji czy email był rzeczywiście wysłany. 7
MFMailComposeViewController Class Przed użyciem Sprawdź czy urządzenie jest skonfigurowane do wysyłania wiadomości email: Metoda cansendmail Nie uruchamiać interfejsu email jeśli metoda cansendmail zwróci NO. 8
MFMailComposeViewController Class Wyświetlanie widoku Standardowe techniki do wyświelania kontrolerów widoku. presentmodalviewcontroller:animated: 9
MFMailComposeViewController Usage Sprawdzenie dostępności email + cansendmail Ustawianie programistycznie składników emaila. setsubject: settorecipients: setccrecipients: setbccrecipients: setmessagebody:ishtml: addattachmentdata:mimetype:filename: Dostęp do delegata mailcomposedelegate property 10
MFMailComposeViewControllerDelegate Definicja metody którą delegat musi implementować aby obsługiwać interfejs kompozycji wiadomości mail. powiadomienie, gdy użytkownik zakończy pracę z interfejsem i jest gotowy do jego usunięcia. mailcomposecontroller:didfinishwithresult:error: Obiekt delegata jest odpowiedzialny za usuwanie dismissmodalviewcontrolleranimated: method
MFMessageComposeViewController 12
MFMessageComposeViewController Standardowy systemowy interfejs tworzenia wiadomości tekstowych SMS (Short Message Service). Konfiguracja początkowa odbiorców Konfiguracja początkowa treści Konfiguracja delegata do obiektu aby odpowiedzieć na finalną akcję użytkownika (anulowanie, wysłanie) Prezentacja kontrolera widoku presentmodalviewcontroller:animated: method. Usunięcie widoku kiedy skończono dismissmodalviewcontrolleranimated: method. 13
cansendtext Sprawdzenie czy urządzenie użytkownika jest prawidłowo skonfigurowane. Nie zostanie podjęta próba wyświetlenia widoku tworzenia wiadomości jeśli metoda cansendtext zwróci NO. poinformowanie użytkownika zablokowanie SMS 14
Message sending availability >=IOS 5 Informowanie o zmianach w dostępności SMS MFMessageComposeViewControllerTextMessage AvailabilityDidChangeNotification 15
Message composition interface Interfejs kompozycji wiadomości nie jest konfigurowalny i nie może być modyfikowany przez aplikację. Po przedstawieniu interfejsu, aplikacja nie jest w stanie dokonać dalszych zmian w treści SMS-a. Użytkownik może edytować treść za pomocą interfejsu, ale zmiany programistyczne są ignorowane. Należy ustawić treść jeśli potrzeba przed prezentacją interfejsu 16
MFMessageComposeViewController Sprawdzenie czy możliwe jest tworzenie wiadomości + cansendtext Dostęp do delegata Właściwość messagecomposedelegate Ustawianie wartości inicjujących wiadomość Właściwość recipients Właściwość body 17
Twitter Framework 18
Twitter Framework pozwala aplikacji na wysyłanie zapytań do Twittera w imieniu użytkownika. Framework dba o uwierzytelniania użytkownika i zawiera szablon do tworzenia żądań HTTP. Użytkownicy mogą kontrolować, czy aplikacja może komunikować się z Twitterem w ich imieniu. 19
Twitter Framework TWRequest Zapytanie HTTP wysłane do Twittera Wygodny szablon dla zapytań Twittera i obsługi autentykacji użytkowników. Składniki zapytania URL identyfikujący operację do wykonania, Metoda HTTP (GET, POST, lub DELETE), Zestaw parametrów zapytania Opcjonalnie dodatkowe dane. 20
Twitter Framework - scenariusz initwithurl:parameters:requestmethod: addmultipartdata:withname:type: performrequestwithhandler: Dla autoryzacji należy ustawić właściwość account dla obiektu ACAccount. 21
Twitter Framework Inizjalizacja żądania initwithurl:parameters:requestmethod: Dostęp do właściwości właściwości konta właściwości requestmethod właściwości URL addmultipartdata:withname:type: Wysyłanie żądania performrequestwithhandler: signedurlrequest 22
Facebook IOS SDK 23
Facebook IOS SDK Funkcje Autentykacja Personalizacja Pokaż znajomych Pokaż miejsca w pobliżu Uruchamianie akcji z wykorzystaniem GraphAPI 24
Facebook IOS SDK Autentykacja: Implementacja logowania z facebooka, Pyta użytkownika o zezwolenie dla aplikacji, Obsługa zmian w sesji, Wylogowanie. 25
Facebook IOS SDK Personalizacja: Zdjęcie profilowe Nazwa. Pokaż znajomych: Wyświetla listę znajomych i pozwala wybrać jednego lub więcej znajomych. 26
Facebook IOS SDK Pokaż miejsca w pobliżu: Wyświetla listę pobliskich miejsc Oznacza miejsce gdzie znajduje się użytkownik. Opublikuj akcję Open Graph: Publikuje aktywność z Twojej aplikacji na osi czasu Publikuje aktualności Konfiguruje środowisko dla obiektów Open Graph. 27
Facebook API - scenariusz Obiekt FBSession - zarządzanie sesją i autoryzacja użytkowników Użycie SCLoginViewController wyświetli formularz logowania Zapytania Facebook: Obiekt FBRequest i metoda requestforme:withsession. 28
Zakończenie Koniec 29