Facebook - konwersja
  • promocja

iOS 5. Programowanie. Receptury - ebook

Wydawnictwo:
Data wydania:
14 września 2012
Format ebooka:
MOBI
Format MOBI
czytaj
na czytniku
czytaj
na tablecie
czytaj
na smartfonie
Jeden z najczęściej wybieranych formatów wśród czytelników e-booków. Możesz go odczytać na czytniku Kindle oraz na smartfonach i tabletach po zainstalowaniu specjalnej aplikacji. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
, PDF
Format PDF
czytaj
na laptopie
czytaj
na tablecie
Format e-booków, który możesz odczytywać na tablecie oraz laptopie. Pliki PDF są odczytywane również przez czytniki i smartfony, jednakze względu na komfort czytania i brak możliwości skalowania czcionki, czytanie plików PDF na tych urządzeniach może być męczące dla oczu. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
, EPUB
Format EPUB
czytaj
na czytniku
czytaj
na tablecie
czytaj
na smartfonie
Jeden z najpopularniejszych formatów e-booków na świecie. Niezwykle wygodny i przyjazny czytelnikom - w przeciwieństwie do formatu PDF umożliwia skalowanie czcionki, dzięki czemu możliwe jest dopasowanie jej wielkości do kroju i rozmiarów ekranu. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
(3w1)
Multiformat
E-booki sprzedawane w księgarni Virtualo.pl dostępne są w opcji multiformatu - kupujesz treść, nie format. Po dodaniu e-booka do koszyka i dokonaniu płatności, e-book pojawi się na Twoim koncie w Mojej Bibliotece we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu przy okładce. Uwaga: audiobooki nie są objęte opcją multiformatu.
czytaj
na laptopie
Pliki PDF zabezpieczone watermarkiem możesz odczytać na dowolnym laptopie po zainstalowaniu czytnika dokumentów PDF. Najpowszechniejszym programem, który umożliwi odczytanie pliku PDF na laptopie, jest Adobe Reader. W zależności od potrzeb, możesz zainstalować również inny program - e-booki PDF pod względem sposobu odczytywania nie różnią niczym od powszechnie stosowanych dokumentów PDF, które odczytujemy każdego dnia.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na tablecie
Aby odczytywać e-booki na swoim tablecie musisz zainstalować specjalną aplikację. W zależności od formatu e-booka oraz systemu operacyjnego, który jest zainstalowany na Twoim urządzeniu może to być np. Bluefire dla EPUBa lub aplikacja Kindle dla formatu MOBI.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na czytniku
Czytanie na e-czytniku z ekranem e-ink jest bardzo wygodne i nie męczy wzroku. Pliki przystosowane do odczytywania na czytnikach to przede wszystkim EPUB (ten format możesz odczytać m.in. na czytnikach PocketBook) i MOBI (ten fromat możesz odczytać m.in. na czytnikach Kindle).
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na smartfonie
Aby odczytywać e-booki na swoim smartfonie musisz zainstalować specjalną aplikację. W zależności od formatu e-booka oraz systemu operacyjnego, który jest zainstalowany na Twoim urządzeniu może to być np. iBooks dla EPUBa lub aplikacja Kindle dla formatu MOBI.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.

iOS 5. Programowanie. Receptury - ebook

Gotowe rozwiązania i przykłady aplikacji dla urządzeń iPhone, iPad i iPod touch

Szeroki wachlarz urządzeń mobilnych Apple sprawia, że łatwo jest dzięki nim dotrzeć do wielkiej liczby użytkowników. Z drugiej strony stawia jednak przed programistami nowe wyzwania - różne rozdzielczości ekranu i różne wyposażenie urządzeń to tylko niektóre z nich. Jak sobie poradzić z codziennymi problemami w trakcie tworzenia aplikacji dla iOS-a?

Jeżeli znasz iOS SDK, dzięki tej książce nauczysz się stosować setki technik z zakresu tworzenia oprogramowania na platformie iOS oraz pokonasz wiele uciążliwych problemów, które pojawiają się podczas tworzenia aplikacji dla urządzeń iPhone, iPad i iPod touch. Dowiesz się, jak zaimplementować procedurę rozpoznawania gestów, odtwarzania plików audio i wideo oraz wybierania konkretnych kontaktów i grup z książki adresowej. Ponadto znajdziesz gotowe do wdrożenia przykłady, korzystające z wielowątkowości, geolokalizacji i aparatu fotograficznego. Książka ta jest idealną pozycją dla wszystkich osób tworzących oprogramowanie dla platformy iOS. Zawarte w niej przykłady zaoszczędzą Ci mnóstwo czasu. Ta inwestycja się opłaca!

  • Używanie różnych podejść podczas tworzenia interfejsu użytkownika
  • Tworzenie aplikacji wykorzystujących informacje o bieżącym położeniu urządzenia iOS
  • Implementacje procedur rozpoznawania gestów
  • Odtwarzanie plików audio i wideo oraz uzyskiwanie dostępu do biblioteki wbudowanej aplikacji Muzyka
  • Pobieranie poszczególnych kontaktów i grup kontaktów z książki adresowej
  • Określanie dostępności kamery w urządzeniu iOS oraz uzyskiwanie dostępu do biblioteki wbudowanej aplikacji Zdjęcia
  • Tworzenie aplikacji wykorzystujących możliwość wielozadaniowości systemu iOS
  • Stosowanie i obsługa trwałego magazynu danych w aplikacjach
  • Używanie struktury Event Kit do zarządzania kalendarzami i wydarzeniami
  • Wykorzystanie możliwości oferowanych przez strukturę Core Graphics
  • Uzyskiwanie dostępu do informacji pochodzących z przyśpieszeniomierza i żyroskopu
  • Wykorzystanie możliwości oferowanych przez usługę iCloud

Zaoszczędź czasu dzięki pomocnym przykładom!

Spis treści

Wprowadzenie (11)

1. Podstawy (17)

  • 1.0. Wprowadzenie (17)
  • 1.1. Utworzenie prostej aplikacji iOS w Xcode (18)
  • 1.2. Zrozumienie modułu Interface Builder (21)
  • 1.3. Kompilacja aplikacji iOS (24)
  • 1.4. Uruchomienie aplikacji iOS w symulatorze (26)
  • 1.5. Uruchomienie aplikacji iOS w urządzeniu iOS (28)
  • 1.6. Przygotowanie aplikacji iOS do dystrybucji (30)
  • 1.7. Deklarowanie zmiennych w Objective-C (35)
  • 1.8. Alokacja i tworzenie ciągu tekstowego (37)
  • 1.9. Porównywanie wartości w Objective-C za pomocą polecenia if (40)
  • 1.10. Implementacja pętli za pomocą polecenia for (43)
  • 1.11. Implementacja pętli while (45)
  • 1.12. Tworzenie własnej klasy (48)
  • 1.13. Zdefiniowanie funkcjonalności klasy (51)
  • 1.14. Definiowanie dwóch lub wielu metod o tej samej nazwie (55)
  • 1.15. Alokacja i inicjalizacja obiektów (58)
  • 1.16. Dodawanie właściwości do klasy (60)
  • 1.17. Przejście od ręcznego do automatycznego zarządzania licznikiem użycia (63)
  • 1.18. Rzutowanie i technologia Automatic Reference Counting (68)
  • 1.19. Delegacja zadań za pomocą protokołów (71)
  • 1.20. Ustalenie, czy dostępna jest dana metoda klasy lub egzemplarza (76)
  • 1.21. Ustalenie, czy klasa jest dostępna podczas działania aplikacji (79)
  • 1.22. Alokacja i używanie liczb (80)
  • 1.23. Alokacja i używanie tablic (82)
  • 1.24. Alokacja i używanie słowników (86)
  • 1.25. Alokowanie i używanie zbiorów (89)
  • 1.26. Tworzenie tzw. pakietu (91)
  • 1.27. Wczytywanie danych z pakietu głównego (92)
  • 1.28. Wczytywanie danych z innych pakietów (95)
  • 1.29. Wysyłanie powiadomień za pomocą NSNotificationCenter (98)
  • 1.30. Nasłuchiwanie powiadomień wysyłanych przez NSNotificationCenter (100)

2. Implementacja kontrolera i widoku (105)

  • 2.0. Wprowadzenie (105)
  • 2.1. Wyświetlanie komunikatów za pomocą UIAlertView (106)
  • 2.2. Tworzenie i używanie przełączników za pomocą klasy UISwitch (114)
  • 2.3. Wybór wartości za pomocą klasy UIPickerView (117)
  • 2.4. Wybór daty i godziny za pomocą UIDatePicker (124)
  • 2.5. Implementacja możliwości wyboru wartości z zakresu za pomocą UISlider (129)
  • 2.6. Grupowanie opcji za pomocą UISegmentedControl (132)
  • 2.7. Prezentowanie widoków i zarządzanie nimi za pomocą klasy UIViewController (138)
  • 2.8. Implementacja nawigacji za pomocą klasy UINavigationController (142)
  • 2.9. Operacje na tablicy kontrolerów widoku (147)
  • 2.10. Wyświetlenie obrazu na pasku nawigacyjnym (148)
  • 2.11. Dodawanie przycisku do paska nawigacyjnego przy użyciu UIBarButtonItem (149)
  • 2.12. Wyświetlenie wielu kontrolerów widoku za pomocą UITabBarController (156)
  • 2.13. Wyświetlanie tekstu statycznego za pomocą UILabel (162)
  • 2.14. Akceptacja tekstowych danych wejściowych użytkownika wprowadzanych przez UITextField (166)
  • 2.15. Wyświetlanie długich wierszy tekstu w UITextView (173)
  • 2.16. Dodawanie przycisków do interfejsu użytkownika za pomocą klasy UIButton (178)
  • 2.17. Wyświetlanie obrazów za pomocą UIImageView (182)
  • 2.18. Utworzenie przewijanej treści za pomocą UIScrollView (186)
  • 2.19. Wczytywanie stron internetowych za pomocą UIWebView (191)
  • 2.20. Przedstawianie widoków typu główny-szczegółowy za pomocą UISplitViewController (195)
  • 2.21. Włączenie stronicowania w UIPageViewController (201)
  • 2.22. Wyświetlanie okna typu Popover za pomocą UIPopoverController (205)
  • 2.23. Wyświetlanie paska postępu za pomocą UIProgressView (214)
  • 2.24. Nasłuchiwanie powiadomień klawiatury i reagowanie na nie (216)

3. Konstruowanie i używanie widoku tabeli (231)

  • 3.0. Wprowadzenie (231)
  • 3.1. Utworzenie widoku tabeli (231)
  • 3.2. Przypisanie delegata widokowi tabeli (233)
  • 3.3. Wypełnianie widoku tabeli danymi (235)
  • 3.4. Pobieranie i obsługa zdarzeń widoku tabeli (238)
  • 3.5. Używanie w komórce widoku tabeli różnego rodzaju przycisków pomocniczych (240)
  • 3.6. Tworzenie własnych przycisków pomocniczych w komórce widoku tabeli (242)
  • 3.7. Wyświetlanie danych hierarchicznych w widoku tabeli (244)
  • 3.8. Usunięcie komórki widoku tabeli za pomocą gestu machnięcia (245)
  • 3.9. Utworzenie nagłówków i stopek w widoku tabeli (247)
  • 3.10. Wyświetlanie menu kontekstowego w komórce widoku tabeli (255)
  • 3.11. Przenoszenie komórek i sekcji w widoku tabeli (259)
  • 3.12. Usuwanie komórek i sekcji z widoku tabeli (265)

4. Storyboard (275)

  • 4.0. Wprowadzenie (275)
  • 4.1. Utworzenie projektu z funkcją Storyboard (276)
  • 4.2. Dodanie kontrolera nawigacyjnego do aplikacji, w której wykorzystano funkcję Storyboard (278)
  • 4.3. Przekazywanie danych pomiędzy ekranami (286)
  • 4.4. Dodanie funkcji Storyboard do istniejącego projektu (289)

5. Współbieżność (291)

  • 5.0. Wprowadzenie (291)
  • 5.1. Tworzenie obiektu bloku (296)
  • 5.2. Uzyskanie dostępu do zmiennych obiektu bloku (300)
  • 5.3. Wywoływanie obiektu bloku (305)
  • 5.4. Przekazywanie zadań do technologii Grand Central Dispatch (306)
  • 5.5. Wykorzystanie GCD do wykonywania zadań związanych z interfejsem użytkownika (307)
  • 5.6. Synchroniczne wykonywanie zadań niepowiązanych z interfejsem użytkownika (311)
  • 5.7. Asynchroniczne wykonywanie zadań niepowiązanych z interfejsem użytkownika (313)
  • 5.8. Wykonywanie zadań w GCD po upłynięciu pewnego czasu (318)
  • 5.9. Tylko jednorazowe wykonanie zadania za pomocą technologii GCD (321)
  • 5.10. Grupowanie zadań w GCD (322)
  • 5.11. Tworzenie własnej kolejki w technologii GCD (326)
  • 5.12. Synchroniczne wykonywanie zadań wraz z operacjami (328)
  • 5.13. Asynchroniczne wykonywanie zadań wraz z operacjami (334)
  • 5.14. Tworzenie zależności pomiędzy operacjami (340)
  • 5.15. Tworzenie licznika czasu (342)
  • 5.16. Zapewnienie współbieżności przy użyciu wątków (346)
  • 5.17. Wywoływanie metod w tle (351)
  • 5.18. Istniejące wątki i liczniki czasu (352)

6. Core Location i mapy (355)

  • 6.0. Wprowadzenie (355)
  • 6.1. Utworzenie widoku mapy (357)
  • 6.2. Obsługa zdarzeń widoku mapy (359)
  • 6.3. Zaznaczanie na mapie położenia urządzenia iOS (360)
  • 6.4. Wyświetlanie pinezek na mapie (362)
  • 6.5. Wyświetlanie w widoku mapy pinezek w różnych kolorach (365)
  • 6.6. Wyświetlanie własnych pinezek w widoku mapy (370)
  • 6.7. Konwersja adresu na współrzędne geograficzne (373)
  • 6.8. Konwersja współrzędnych geograficznych na rzeczywisty adres (374)

7. Implementacja rozpoznawania gestów (377)

  • 7.0. Wprowadzenie (377)
  • 7.1. Wykrywanie gestu machnięcia (379)
  • 7.2. Wykrywanie gestu obrotu (381)
  • 7.3. Wykrywanie gestów przesunięcia i przeciągnięcia (384)
  • 7.4. Wykrywanie gestu długiego naciśnięcia (386)
  • 7.5. Wykrywanie gestu stuknięcia (389)
  • 7.6. Wykrywanie gestu uszczypnięcia (390)

8. Sieć, JSON, XML i Twitter (393)

  • 8.0. Wprowadzenie (393)
  • 8.1. Asynchroniczne pobieranie danych za pomocą klasy NSURLConnection (393)
  • 8.2. Obsługa przekroczenia czasu oczekiwania dla połączeń asynchronicznych (396)
  • 8.3. Synchroniczne pobieranie danych za pomocą klasy NSURLConnection (397)
  • 8.4. Modyfikacja żądania URL za pomocą klasy NSMutableURLRequest (399)
  • 8.5. Wysyłanie żądań HTTP GET za pomocą klasy NSURLConnection (400)
  • 8.6. Wysyłanie żądań HTTP POST za pomocą klasy NSURLConnection (402)
  • 8.7. Wysyłanie żądań HTTP DELETE za pomocą klasy NSURLConnection (404)
  • 8.8. Wysyłanie żądań HTTP PUT za pomocą klasy NSURLConnection (406)
  • 8.9. Serializacja tablic i słowników do obiektu JSON (408)
  • 8.10. Deserializacja obiektu JSON na postać słownika i tablicy (410)
  • 8.11. Integracja funkcji serwisu Twitter w Twojej aplikacji (413)
  • 8.12. Przetwarzanie danych XML za pomocą klasy NSXMLParser (418)

9. Audio i wideo (425)

  • 9.0. Wprowadzenie (425)
  • 9.1. Odtwarzanie plików audio (425)
  • 9.2. Obsługa zakłóceń podczas odtwarzania treści audio (427)
  • 9.3. Nagrywanie treści audio (428)
  • 9.4. Obsługa zakłóceń podczas nagrywania treści audio (434)
  • 9.5. Odtwarzanie treści audio podczas odtwarzania innych dźwięków (435)
  • 9.6. Odtwarzanie plików wideo (438)
  • 9.7. Tworzenie zrzutu ekranu z odtwarzanego pliku wideo (442)
  • 9.8. Uzyskanie dostępu do biblioteki muzycznej (444)

10. Książka adresowa (451)

  • 10.0. Wprowadzenie (451)
  • 10.1. Pobranie odniesienia do książki adresowej (452)
  • 10.2. Pobranie informacji z wszystkich kontaktów w książce adresowej (455)
  • 10.3. Pobranie właściwości kontaktu książki adresowej (456)
  • 10.4. Wstawienie kontaktu do książki adresowej (460)
  • 10.5. Wstawianie grupy do książki adresowej (463)
  • 10.6. Dodawanie kontaktów do grupy (466)
  • 10.7. Przeszukiwanie książki adresowej (469)
  • 10.8. Pobieranie i ustawianie obrazu kontaktu w książce adresowej (473)

11. Aparat i biblioteka zdjęć (479)

  • 11.0. Wprowadzenie (479)
  • 11.1. Wykrywanie i sprawdzanie możliwości kamery (481)
  • 11.2. Wykonywanie zdjęć aparatem (485)
  • 11.3. Nagrywanie filmów kamerą (488)
  • 11.4. Przechowywanie zdjęć w bibliotece aplikacji Zdjęcia (491)
  • 11.5. Przechowywanie filmów w bibliotece aplikacji Zdjęcia (493)
  • 11.6. Pobieranie zdjęć i filmów z biblioteki aplikacji Zdjęcia (495)
  • 11.7. Pobieranie zasobów z biblioteki zasobów (496)
  • 11.8. Edycja pliku filmu w urządzeniu iOS (502)

12. Wielozadaniowość (507)

  • 12.0. Wprowadzenie (507)
  • 12.1. Wykrywanie obsługi wielozadaniowości (508)
  • 12.2. Wykonywanie długotrwałych operacji w tle (509)
  • 12.3. Otrzymywanie w tle powiadomień lokalnych (512)
  • 12.4. Odtwarzanie dźwięku w tle (519)
  • 12.5. Obsługa w tle zmian położenia urządzenia (521)
  • 12.6. Zapis i odczyt informacji o stanie w aplikacjach wykorzystujących wielozadaniowość (524)
  • 12.7. Obsługa połączeń sieciowych w tle (527)
  • 12.8. Obsługa powiadomień dostarczanych aktywowanej aplikacji (530)
  • 12.9. Udzielanie odpowiedzi na zmiany w aplikacji Ustawienia (532)
  • 12.10. Rezygnacja z wielozadaniowości (534)

13. Core Data (537)

  • 13.0. Wprowadzenie (537)
  • 13.1. Tworzenie modelu Core Data za pomocą Xcode (540)
  • 13.2. Generowanie plików klas dla encji Core Data (543)
  • 13.3. Tworzenie i zapisywanie danych za pomocą Core Data (545)
  • 13.4. Odczyt danych z Core Data (547)
  • 13.5. Usuwanie danych z Core Data (549)
  • 13.6. Sortowanie danych w Core Data (552)
  • 13.7. Uzyskanie dostępu do danych w widoku tabeli (553)
  • 13.8. Implementacja związków w Core Data (564)

14. Daty, kalendarze i wydarzenia (571)

  • 14.0. Wprowadzenie (571)
  • 14.1. Pobieranie listy kalendarzy (574)
  • 14.2. Dodawanie wydarzeń do kalendarzy (576)
  • 14.3. Uzyskanie dostępu do treści kalendarzy (578)
  • 14.4. Usuwanie wydarzeń z kalendarza (582)
  • 14.5. Umieszczanie w kalendarzach powtarzających się wydarzeń (587)
  • 14.6. Pobieranie uczestników wydarzenia (589)
  • 14.7. Dodawanie alarmu do kalendarza (594)
  • 14.8. Obsługa powiadomień informujących o zmianie wydarzenia (596)
  • 14.9. Wyświetlenie kontrolera widoku wydarzenia (598)
  • 14.10. Wyświetlanie kontrolera widoku wydarzenia umożliwiającego edycję właściwości wydarzenia (603)

15. Grafika i animacja (607)

  • 15.0. Wprowadzenie (607)
  • 15.1. Wyświetlenie listy czcionek i ich wczytywanie (614)
  • 15.2. Wyświetlanie tekstu (616)
  • 15.3. Tworzenie, konfigurowanie i używanie koloru (617)
  • 15.4. Wyświetlanie obrazów (622)
  • 15.5. Rysowanie linii (626)
  • 15.6. Tworzenie ścieżek (631)
  • 15.7. Rysowanie prostokątów (635)
  • 15.8. Dodawanie cienia do kształtu (638)
  • 15.9. Rysowanie gradientów (642)
  • 15.10. Zmiana położenia kształtów narysowanych w kontekście graficznym (649)
  • 15.11. Skalowanie kształtów w kontekście graficznym (652)
  • 15.12. Obracanie kształtów rysowanych w kontekście graficznym (654)
  • 15.13. Animacja i przesuwanie widoków (655)
  • 15.14. Animacja i skalowanie widoku (663)
  • 15.15. Animacja i obrót widoku (665)

16. Core Motion (667)

  • 16.0. Wprowadzenie (667)
  • 16.1. Wykrywanie dostępności przyśpieszeniomierza (668)
  • 16.2. Wykrywanie dostępności żyroskopu (670)
  • 16.3. Pobieranie danych z przyśpieszeniomierza (671)
  • 16.4. Wykrywanie gestu potrząśnięcia w urządzeniu iOS (674)
  • 16.5. Pobieranie danych z żyroskopu (677)

17. iCloud (681)

  • 17.0. Wprowadzenie (681)
  • 17.1. Konfiguracja aplikacji w celu zapewnienia obsługi usługi iCloud (682)
  • 17.2. Przechowywanie i synchronizacja słowników w iCloud (686)
  • 17.3. Tworzenie katalogów i zarządzanie nimi w usłudze iCloud dla aplikacji (691)
  • 17.4. Wyszukiwanie plików i katalogów w usłudze iCloud (697)
  • 17.5. Przechowywanie dokumentów użytkownika w usłudze iCloud (705)
  • 17.6. Zarządzanie stanem dokumentów w usłudze iCloud (718)
  • 17.7. Obsługa błędów w dokumentach iCloud (721)

Skorowidz (731)

Kategoria: Programowanie
Zabezpieczenie: Watermark
Watermark
Watermarkowanie polega na znakowaniu plików wewnątrz treści, dzięki czemu możliwe jest rozpoznanie unikatowej licencji transakcyjnej Użytkownika. E-książki zabezpieczone watermarkiem można odczytywać na wszystkich urządzeniach odtwarzających wybrany format (czytniki, tablety, smartfony). Nie ma również ograniczeń liczby licencji oraz istnieje możliwość swobodnego przenoszenia plików między urządzeniami. Pliki z watermarkiem są kompatybilne z popularnymi programami do odczytywania ebooków, jak np. Calibre oraz aplikacjami na urządzenia mobilne na takie platformy jak iOS oraz Android.
ISBN: 978-83-246-5733-9
Rozmiar pliku: 14 MB

BESTSELLERY

Kategorie: