Post on 11-Nov-2014
description
Televisió de CatalunyaFormación en movilidad
Conceptos de desarrollo en iOSSesión final junio 2013
1
Qué veremos hoy
Preparando para subir al App Store!
LocalizaciónInternacionalización
iTunes Connect, App Review Guidelines
Extras
iOS User Interface Design
2
Localización
Consiste en proporcionar toda la información de tu app en los idiomas de
los países donde se pone a la venta
App Store: keywords, screenshots, descripciones
3
Internacionalización
Consiste en adaptar tu app a todos los países (idioma, cultura) donde se pone a la
venta
4
InternacionalizaciónLiterales
// MasterViewController.m
UIAlertView *notice = [[UIAlertView alloc] initWithTitle:@"Nuevo vídeo" message:@"Se a creado un nuevo vídeo correctamente" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles: nil, nil];
[notice show];
5
InternacionalizaciónLiterales
// MasterViewController.m
UIAlertView *notice = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"_nuevo_video_title", nil) message:@"Se a creado un nuevo vídeo correctamente" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles: nil, nil];
[notice show];
6
InternacionalizaciónLiterales
// MasterViewController.m
UIAlertView *notice = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"_nuevo_video_title", nil) message:@"Se a creado un nuevo vídeo correctamente" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles: nil, nil];
[notice show];
Supporting Files > Add Files to “MyVideos”en.lproj > New File...
iOS : Resource : Strings File > Localizable.strings
7
InternacionalizaciónLiterales
// MasterViewController.m
UIAlertView *notice = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"_nuevo_video_title", nil) message:@"Se a creado un nuevo vídeo correctamente" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles: nil, nil];
[notice show];
// Localizable.strings
"_nuevo_video_title" = "New Video";
8
InternacionalizaciónLiterales
// MasterViewController.m
UIAlertView *notice = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"_nuevo_video_title", nil) message:NSLocalizedString(@"_nuevo_video_message", nil) delegate:nil cancelButtonTitle:NSLocalizedString(@"_nuevo_video_ok", nil) otherButtonTitles: nil, nil];
[notice show];
// Localizable.strings
"_nuevo_video_title" = "New Video";"_nuevo_video_message" = "Se a creado un nuevo vídeo correctamente";"_nuevo_video_ok" = "OK";
9
iTunes ConnectDesarrollador
Manage Your Apps
iAd Network
Catalog ReportsApps, In-App Purchases, Game Center Metadata
Developer Forums
Contact Us
10
iTunes ConnectOwner
Sales and TrendsInformes de ventas
Contracts, Tax, and Banking“You hereby appoint Apple [...] as: (i) Your agent for the
marketing and delivery of the Licensed Applications to end-users located in those countries listed on [...]; and (ii) Your commissionaire for the marketing and delivery of the
Licensed Applications to end-users located in those countries listed on [...]”
Payments and Financial ReportsPagos (cobros)
11
iTunes ConnectA tener en cuenta
DistribuciónFecha de venta, precio y canal
SEOCategorización y búsqueda
Review NotesAyuda al proceso de revisión
EstadoEstado de la revisión y la venta
12
iTunes ConnectDistribución
Availability Date
Price Tier
Custom B2B App (Volume Purchase Program)
13
iTunes ConnectSEO
Primary & Secondary Category
Keywords
14
iTunes ConnectReview Notes
Información útil para el proceso de revisión:cuenta de demo, configuración específica
15
iTunes ConnectEstado
Version Number
Prepare For UploadWaiting For UploadWaiting For Review
In ReviewPending Developer Relase/ Pending Apple Release
Ready For SaleRejected/ Developer Rejected
Removed From Sale/ Developer Removed From Sale
16
iTunes ConnectEstado
Version Number
Prepare For UploadWaiting For UploadWaiting For Review
In ReviewPending Developer Relase/ Pending Apple Release
Ready For SaleRejected/ Developer Rejected
Removed From Sale/ Developer Removed From Sale
17
iTunes ConnectEstado
Version Number
Prepare For UploadWaiting For Upload
Waiting For ReviewIn Review
Pending Developer Relase/ Pending Apple ReleaseReady For Sale
Rejected/ Developer RejectedRemoved From Sale/ Developer Removed From Sale
18
iTunes ConnectEstado
Version Number
Prepare For UploadWaiting For Upload
Waiting For ReviewIn Review
Pending Developer Relase/ Pending Apple ReleaseReady For Sale
Rejected/ Developer RejectedRemoved From Sale/ Developer Removed From Sale
19
iTunes ConnectEstado
Version Number
Prepare For UploadWaiting For UploadWaiting For Review
In ReviewPending Developer Relase/ Pending Apple Release
Ready For SaleRejected/ Developer Rejected
Removed From Sale/ Developer Removed From Sale
20
iTunes ConnectEstado
Version Number
Prepare For UploadWaiting For UploadWaiting For Review
In ReviewPending Developer Relase/ Pending Apple Release
Ready For SaleRejected/ Developer Rejected
Removed From Sale/ Developer Removed From Sale
21
iTunes ConnectEstado
Version Number
Prepare For UploadWaiting For UploadWaiting For Review
In ReviewPending Developer Relase/ Pending Apple Release
Ready For SaleRejected/ Developer Rejected
Removed From Sale/ Developer Removed From Sale
22
iTunes ConnectEstado
Version Number
Prepare For UploadWaiting For UploadWaiting For Review
In ReviewPending Developer Relase/ Pending Apple Release
Ready For SaleRejected/ Developer Rejected
Removed From Sale/ Developer Removed From Sale
23
iTunes ConnectEstado
Version Number
Prepare For UploadWaiting For UploadWaiting For Review
In ReviewPending Developer Relase/ Pending Apple Release
Ready For SaleRejected/ Developer Rejected
Removed From Sale/ Developer Removed From Sale
24
iTunes ConnectApp Review Guidelines
developer.apple.com/appstore/guidelines.html
• Publicidad
• Contenidos
• Compras
• Privacidad
• Violencia/ Pornografía/ Religión/ Cultura/ Etnia
25
App Review GuidelinesPublicidad
Ejemplos
7.1 Apps that artificially increase the number of impressions or click-throughs of ads will be rejected
7.3 Apps that are designed predominantly for the display of ads will be rejected
App Store Review Guidelines, May 2013
26
App Review GuidelinesContenidos
Ejemplos
9.4 Video streaming content over a cellular network longer than 10 minutes must use HTTP Live Streaming and include a baseline 64 kbps audio-only HTTP Live stream
App Store Review Guidelines, May 2013
27
App Review GuidelinesCompras
Ejemplos
11.2 Apps utilizing a system other than the In-App Purchase API (IAP) to purchase content, functionality, or services in an App will be rejected
11.3 Apps using IAP to purchase physical goods or goods and services used outside of the application will be rejected
11.13 Apps that link to external mechanisms for purchases or subscriptions to be used in the App, such as a “buy” button that goes to a web site to purchase a digital book, will be rejected
App Store Review Guidelines, May 2013
28
App Review GuidelinesPrivacidad
Ejemplos
17.2 Apps that require users to share personal information, such as email address and date of birth, in order to function will be rejected
App Store Review Guidelines, May 2013
29
iTunes Connect“Tribunal de apelación”
developer.apple.com/appstore/contact
• Estado de mi app
• Aclarar/ Apelar rechazo
• Solicitar revisión rápida
• Proporcionar información solicitada
• Preguntas
30
Extras
Apple Consultants Network
Moblie-friendly SaaS, PaaS, IaaS
31
Apple Consultants Network
Técnicos certificados en ecosistema Apple
Acceso a soporte directo de Apple
Mobivery: iPhone and iPad Technical Training, 12 empleados certificados
32
Apple Consultants NetworkCertificación
IntegraciónMicrosoft Exchange ActiveSync
VPN, Wi-Fi
SeguridadEncriptación y protección de datos
DespliegueConfiguración dispositivo
Gestión remota
33
Mobile-friendly SaaS, PaaS, IaaS
Parse parse.com
Pusher pusher.com
Helios helios.io
Firebase firebase.com
Heroku heroku.com
MongoHQ mongohq.com
Amazon WS aws.amazon.com
34
Coffee Break!
35
Icons
36
Icons
37
Icons
Icon.png 57x57
Icon-Small.png 29x29
iPhone, iPod touch
Icon-72.png 72x72
Icon-Small-50.png 50x50
iPad
Prerendered: efecto brillo incluído
38
Launch Image
39
Launch Image
Default.png 320x480
iPhone, iPod touch
Default-568h@2x.png 640x1136
iPhone 5
Default-ipad.png 768x1004
iPad
40
Launch Image
Variantes
Default-Portrait.pngDefault-Landscape.png
Otros nombre de archivo en Info.plist
41
Launch ImageLaunch time
Tiempo inicial de carga app: media 3’’
Usar tareas asíncronas
Delegar tareas hasta que son imprescindibles
Consultas remotas (servicios HTTP)Parseo de datos
Acceso a base de datos
Aliviar UI
Usar Instruments para medir tiempos y memoria
42
Apple Design Award
43
iOS User Interface DesignErrores comunes
Mal iconoEvitar fotos, mucho texto, pensar en resoluciones
Registro obligatorioOfrecer funcionalidad sin registro
Controles pequeñosRespetar tamaños mínimos (44x44)
Texto difícil de leerMexcla de fuentes, texto legible (15pt), alineación
Avisos ambiguosDescartar/Cancelar, mensajes de error, afirmativo a la dcha
44
iOS User Interface DesignErrores comunes
Terminología fuera de lugarUsa el idioma del usuario
Demasiado brandingAl abrir la app ya sabes qué app es
Botones ‘back’ que no se entiendenEtiquetar adecuadamente
Animaciones confusasSeguir las guías de estilo
Estilo inapropiadoEntretenimiento? Utilidad?
45
¡Gracias!
46