tutaj

wrackbaaMobile - Wireless

Dec 10, 2013 (3 years and 10 months ago)

196 views



Mariusz L isiecki
student UAM, programista iPhone
niefanatyczny użytkownik produktów Apple :)
P ozna, dnia jes zcze nie wiemń


P lan prezentacji

Kwestie techniczne: urządzenie, wymagania

Prezentacja narzędzi

Pierwszy iPhonowy
„ Hallo, die Welt!”

iPhone API i komponenty UI

Tworzenie gier na iPhone'a:
silnik
Cocos 2 d for iP hone

Wdrażanie aplikacji na App Store

Dyskusja


S pecyfikacja urz dzeniaą

Trzy modele: (Original), 3G, 3GS
+ iPod Touch (też kilka generacji)

Procesor: ARM 620 MHz -> 412 MHz
(
3 GS:
ARM 833 MHz -> 600 MHz)

Pamięć: 128 MB (
3 GS:
256 MB)

Grafika: PowerVR MBX Lite 3D +
OpenGLES 1.1
(
3 GS:
PowerVR SGX + OpenGLES 2.0)


Flash (pamięć oczywiście:P)
4, 8, 16, 32 GB (zależnie od modelu)


Wyma gania
rodowisko + symula torŚ

System operacyjny
Mac OS
w wersji
1 0.5 +
, co (teoretycznie) implikuje:

Komputer typu
Mac

(Darmowa) rejestracja na iPhone Dev
Center
F izyczne urz dzenie + AppS toreą

iPhone lub iPod Touch :)

Rejestracja w programie deweloperskim

9 9 $
za roczną subskrypcję


Narz dziaę

IDE: Xcode 3.0+
(z iPhone SDK)

iPhone Simulator

Interface Builder

Instruments
(Profiler)


ObjectiveC

Nakładka (nadzbiór) na język C

Można swobodnie przeplatać kod w języku C (lub C++)
z kodem w ObjectiveC

W momencie wejścia iPhone'a na rynek znało go ok.
0,05% ludzi --- a teraz już ponad 1% :)

Dwa główne rozszerzenia: symbole [] oraz @

[] - wywoływanie metod

@ - definicje specyficzne dla języka ObjectiveC

Jest GarbageCollector, ale niedostępny dla iPhone
Core Library

Trzeba ręcznie zarządzać pamięcią


Metody w ObjectiveC

metody: Java Vs ObjectiveC

deklaracja:
+ (float) countAreaOfTriangleWithBase:
(float)baseLength andHeight:(float)height;
(public) static float countAreaOfTriangle(float
baseLength, float height);

wywołanie:
float area =
[Triangle countAreaOfTriangleWithBase:10.5 andHeight:6];


K lasy w ObjectiveC

Deklaracja klasy (plik Car.h)
@interface Car : NSObject {
Engine *engine;
}
@property (nonatomic, retain) Engine *engine;
- (void) startEngine;
@end


K lasy w ObjectiveC

Implementacja klasy (plik Car.m)
#import „Car.h”
@implementation Car
@synthesize engine;
- (void) startEngine {
//do sth
}
@end


Czas na HdW!


Cechy aplikacji iP honowych

Brak wielozadaniowości...

jedyne aplikacje działające w tle są od Apple

... ale jest wielowątkowość
wewn trzą
aplikacji

około
4 0 MB
RAMu (nie dotyczy 3GS) dla
aplikacji, później Memory Warning

aplikacja może otrzymać nakaz wyjścia w
dowolnym
momencie – przycisk HOME – trzeba
to mieć na uwadze...

np. w przypadku gier konieczne zapisywanie stanu
aplikacji w momencie otrzymania nakazu wyjścia


AP I iP hone'a

UIApplicationDelegate – główny zarządzający
aplikacją

Kontrolery widoków i widoki – podklasy
UIViewController oraz UIView

Zapisywanie danych aplikacji:

SQLite3

NSUserDefaults

Core Data

UIAccelerometerDelegate (nie używany jednak zbyt
często)


Wa niejsze komponenty UIż

UINavigationController

UITableViewController

UITabBarController

UIToolbar

UIWebView

UIAlertView

UIActionSheet
... na przykładzie ;)


Cocos 2 D for iP hone

OpenSource'owy silnik do tworzenia gier
2D

setki (tysiące?) aplikacji napisanych z
jego wykorzystaniem

Grafika: Warstwy, sprite'y, animacje, wiele
innych

Dźwięki: muzyka, efekty

Fizyka: zintegrowane silniki: Box2D i
Chipmunk

wiele innych

napisany w ObjectiveC na bazie
OpenGLES 1.1


Cocos 2 D na przykładzie
E mpires At War


AppS tore

Jeden sklep na
cały wia tś

ponad
1 5 0 0 0 0
tysięcy aplikacji

ponad
3 0 0 0 0 0 0 0 0 0
pobrań

Naśladowany przez innych 'wielkich':
Microsoft,
Nokia, Google

Genialnie
prosty
w obsłudze

Klikam 'Kup' i podaję hasło

Aplikacja się ściąga

Klikam ikonkę i uruchamiam aplikację


Nadsyłanie do AppS tore

Trzeba mieć dostęp do programu deweloperskiego
(99 $)

Konieczne wygenerowanie Certyfikatów i Profili

skomplikowane tylko za pierwszym razem

Nadsyłamy do AppStore i czekamy na recenzję

WSZYSTKO jest teoretycznie recenzowane przez Apple
Review Team

Po pozytywnym przejściu przez etap recenzji
aplikacja jest dostępna na całym świecie

pozostaje liczyć miliony dolarów ... w teorii


Wady AppS tore

Apple
pobiera 3 0 %
od każdej sprzedaży

Ale sporo ludzi uważa że to nie jest tak dużo...

Ceny są mocno 'wywindowane' w dół

w porównaniu z cenami aplikacji Javowych na komórkę

Ciężko się wybić

chyba że jesteś wielkim studiem: EA, Gameloft,

Ciężko odpowiadać na zarzuty (często niesłuszne)
użytkowników

Czarna skrzynka...


AppS tore vs
Android Market

Android Market nie ma recenzji

łatwiej się dostać, ale też użytkownik jest
mniej
bezpieczny

Kilka różnych sklepów, poza kontrolą Google – np.
w Chinach mają zostać otworzone 3 niezależne
sklepy

W Polsce płatne aplikacje
niedost pne ę
(legalnie)

w ciągu
kilku
najbliższych
la t
...

Subiektywna ocena:
B a-ła-gan!!


:)


:)


:)


:)


Dzi kuj za uwa g!ę ę ę

Pytania?

Posiadaczy iPhone'a zachęcam do bliższego
zapoznania się z wymienionymi aplikacjami:)

Empires At War (dostępna wersja Lite)

SuperMemo (darmowa, płatne kursy)