SlideShare una empresa de Scribd logo
1 de 47
Descargar para leer sin conexión
TestFlight et les outils
de distribution continue
Simone Civetta
Xebia IT Architects
About me
MAM
Mobile Application
Management
Plateformes permettant de controller l’accès aux
applications mobiles
Gèrent le déploiement et la distribution
Idéales pour la mise en place d’une stratégie
BYOD dans les entreprises
Peuvent prévoir des systèmes d’analyse d’usage
(ex. nombre des lancements, durée des sessions)
SaaS
TestFlight
TestFlight
TestFlight est une plateforme qualifiée de Mobile
Application Manager (MAM), permettant notamment :
le déploiement des build iOS et Android sur des
terminaux mobiles
la gestion des utilisateurs au sein de plusieurs
équipes
le suivi des usages, des sessions utilisateurs et
des crashes
Fonctionnalités
Gestion automatique du profile d’approvisionnement
Detecte automatiquement nom de l’appli, version, icône
Récolte des crash (avec gestion des dsym)
SDK
Feedbacks
Checkpoints
Remote logging!
Plugin Jenkins disponible
Gestion des teams
Utilisateurs et applications
2 sections principales :
Apps : permet upload / modification / suppression
des builds et le suivi des bugs et de l’utilisation de
l’application.
People : donne accès à la gestion des utilisateurs
de l’équipe, de la soumission des invitations ainsi
que de la révocation des accès
Apps : détail d’un build
Apps : droits
!
!
!
!
!
!
!
La gestion du profile d’approvisionnement est intégrée dans TF
People : gestion des
utilisateurs
SDK / 1
SDK disponible pour iOS et Android.
Compatible avec CocoaPods
Insérer dans application:didFinisLaunchingWithOptions:
[TestFlight	
  takeOff:APP_TOKEN];	
  
!
L’App Token est l’ID utilisé par TestFlight afin de reconnaître l’application qui génère la session.
Information disponible sur la page App Token sur le site TestFlight.
Chaque token est uniquement attribué à un Bundle ID.
SDK / 2
Paramètres supplémentaires peuvent être ajoutés avant le
takeOff :
addCustomEnvironmentInformation:forKey:	
  	
  	
  
permet de remonter des informations spécifiques à afficher
dans le panneau de la session
SDK / 3
Remote logging : possibilité de rediriger les logs vers TestFlight
Accessibles directement en ligne, dans le détail d’une session utilisateur
!
//	
  MyApp-­‐prefix.pch	
  	
  
	
  	
  #import	
  "TestFlight.h"	
  
	
  	
  #define	
  NSLog(__FORMAT__,	
  ...)	
  TFLog((@	
  "%s	
  [Line	
  
%d]	
  "	
  __FORMAT__),	
  __PRETTY_FUNCTION__,	
  __LINE__,	
  
##__VA_ARGS__)	
  
!
Checkpoints : mots-clés définis par le développeur
Permettent de suivre les étapes qui sont effectuées par l’utilisateur final
!
[TestFlight passCheckpoint:CHECKPOINT_NAME];
Support complet de
iOS et Android
Support complet de
iOS et Android
Apple…
HockeyApp
Introduction
HockeyApp est une solution permettant le déploiement
de builds :
iOS
Mac OS
Android
Windows Phone
Windows 8
Fonctionnalités
Gestion automatique du profile d’approvisionnement
Detecte automatiquement nom de l’appli, version, icône
Récolte des crash (avec gestion des dsym)
SDK
Feedbacks
Bug Tracker!
Authentification in-app des utilisateurs
Plugin Jenkins disponible
Plans
Solution payante
SDK
Récolte des crash
Feedbacks
Authentification in-app des utilisateurs
Notification de maj (alertView in-app)
et aussi…
Ensemble d’API pour la création et la gestion des
membres de l’équipe, invitations, profils
d’approvisionnement, crash, feedback, etc.
WebHooks : possibilité de notifier une URL
personnalisée à chaque fois qu’un événement
spécifique a eu lieu (ex. nouveau crash)
Self-hosted
HockeyKit
Introduction
HockeyKit est une solution client/serveur gratuite
Développée par l’équipe de HockeyApp
Serveur : quelques fichiers PHP
Installation très facile sur n’importe quel solution
de hébergement PHP (pas besoin d’une BDD)
Fonctionnalités
Notifications in-app de maj disponibles
Simples statistiques de téléchargement (iOS
seulement)
Publication des profils d’approvisionnement
SDK (très basique)
Page de release notes
SDK
Notification in-app de maj disponibles
Simple statistiques (iOS seulement)
Pages AppStore-like
Exemple
Knappsack
Introduction
Knappsack est une solution SaaS payante…
…dont le code source est distribué gratuitement
sur GitHub
Supporte iOS et Android
Serveur : Java (Spring)
Interface optimisée pour l’accès depuis mobile
(JQuery Mobile)
Fonctionnalités
Gestion avancée des utilisateurs:
Organisations
Groupes d’utilisateurs
Gestion des invitations
Possibilité d’organiser les applications en categories
Simples statistiques de téléchargement
API pour upload/gestion des builds
Plugin Jenkins disponible
Exemple
Shenzhen
Introduction
Solution de déploiement de fichiers ipa uniquement
Fait partie des outils Nomad (nomad-cli.com) par Mattt
Supporte :
TestFlight
HockeyApp
Amazon S3
FTP/SFTP
Entièrement en ligne de
commande
Exemple
La commande!
ipa	
  distribute:ftp	
  

	
  -­‐f	
  Xebia.ipa

	
  -­‐-­‐host	
  ftp.example.com	
  -­‐u	
  MY_USER	
  -­‐p	
  MY_PWD

	
  -­‐-­‐mkdir

	
  -­‐P	
  /apps/{CFBundleName}/{CFBundleVersion}/	
  
Crée automatiquement le fichier dans le chemin !
! ftp.example.com/apps/Xebia-iOS/1.0/Xebia.ipa!
!
Idéale pour intégration dans une usine logicielle
Tableau comparatif
TestFlight HockeyApp HockeyKit Knappsack
Support SaaS SaaS self-hosted self-hosted
Récuperation auto infos app ✔ ✔ ✘ ✘
Gestion builds ✔ ✔ ✘ ✔
Gestion utilisateurs ✔ ✔ ✘ ✔
Crashes ✔ ✔ ✘ ✘
Statistiques d’installation ✔ ✔ ✔ ✔
Feedbacks ✔ ✔ ✘ ✔
Checkpoints ✔ ✘ ✘ ✘
Remote Logging ✔ ✘ ✘ ✘
Authentif. utilisateurs (in-app) ✘ ✔ ✘ ✘
APIs ✘ ✔ ✘ ✔
WebHooks ✘ ✔ ✘ ✘
iOS ✔ ✔ ✔ ✔
Android ✘ ✔ ✔ ✔
Windows Phone ✘ ✔ ✘ ✘
Intégration Jenkins ✔ ✔ ✘ ✔
Taille maximale build 800Mo 2Go ∞ ∞
Prix Gratuit ≥ 10$/mois Gratuit Gratuit
One more thing…
May 16th, Paris

Más contenido relacionado

La actualidad más candente

Web-In 2010: Programmation Native iOS (French)
Web-In 2010: Programmation Native iOS (French)Web-In 2010: Programmation Native iOS (French)
Web-In 2010: Programmation Native iOS (French)
Fred Brunel
 

La actualidad más candente (20)

Test flight
Test flightTest flight
Test flight
 
Hermes, génération et déploiement d'ipa by Peter Meuel
Hermes, génération et déploiement d'ipa by Peter MeuelHermes, génération et déploiement d'ipa by Peter Meuel
Hermes, génération et déploiement d'ipa by Peter Meuel
 
CocoaHeads Rennes #6
CocoaHeads Rennes #6CocoaHeads Rennes #6
CocoaHeads Rennes #6
 
Nouveauté iOS 6
Nouveauté iOS 6Nouveauté iOS 6
Nouveauté iOS 6
 
3D Touch
3D Touch3D Touch
3D Touch
 
Fastlane snapshot presentation
Fastlane snapshot presentationFastlane snapshot presentation
Fastlane snapshot presentation
 
Xcode 4.5
Xcode 4.5Xcode 4.5
Xcode 4.5
 
CocoaHeads Rennes #14: Programmation Responsive par Celedev
CocoaHeads Rennes #14: Programmation Responsive par CeledevCocoaHeads Rennes #14: Programmation Responsive par Celedev
CocoaHeads Rennes #14: Programmation Responsive par Celedev
 
Introduction to WebRTC on iOS
Introduction to WebRTC on iOSIntroduction to WebRTC on iOS
Introduction to WebRTC on iOS
 
CocoaHeads Toulouse - Marc Boudou / FreezySnail - Programmation concurrente
CocoaHeads Toulouse - Marc Boudou / FreezySnail - Programmation concurrenteCocoaHeads Toulouse - Marc Boudou / FreezySnail - Programmation concurrente
CocoaHeads Toulouse - Marc Boudou / FreezySnail - Programmation concurrente
 
1 tours horizon
1 tours horizon1 tours horizon
1 tours horizon
 
How javascript core helped PAW to move from a small app to an extensible tool
How javascript core helped PAW to move from a small app to an extensible toolHow javascript core helped PAW to move from a small app to an extensible tool
How javascript core helped PAW to move from a small app to an extensible tool
 
10 tips pour améliorer les performances de vos applications Windows 8
10 tips pour améliorer les performances de vos applications Windows 810 tips pour améliorer les performances de vos applications Windows 8
10 tips pour améliorer les performances de vos applications Windows 8
 
5 android web_service
5 android web_service5 android web_service
5 android web_service
 
Build automatique et distribution OTA avec Xcode 4.x et Jenkins
Build automatique et distribution OTA avec Xcode 4.x et JenkinsBuild automatique et distribution OTA avec Xcode 4.x et Jenkins
Build automatique et distribution OTA avec Xcode 4.x et Jenkins
 
Web-In 2010: Programmation Native iOS (French)
Web-In 2010: Programmation Native iOS (French)Web-In 2010: Programmation Native iOS (French)
Web-In 2010: Programmation Native iOS (French)
 
Android Studio, premier contact
Android Studio, premier contactAndroid Studio, premier contact
Android Studio, premier contact
 
Presentation clean architecture
Presentation clean architecturePresentation clean architecture
Presentation clean architecture
 
Les nouveautés du Framework .NET 4.5
Les nouveautés du Framework .NET 4.5Les nouveautés du Framework .NET 4.5
Les nouveautés du Framework .NET 4.5
 
Initiation Android Niveau Débutant
Initiation Android Niveau DébutantInitiation Android Niveau Débutant
Initiation Android Niveau Débutant
 

Destacado

La legislación errática y desordenada a la búsqueda del mantenimiento y la cr...
La legislación errática y desordenada a la búsqueda del mantenimiento y la cr...La legislación errática y desordenada a la búsqueda del mantenimiento y la cr...
La legislación errática y desordenada a la búsqueda del mantenimiento y la cr...
Universidad Autónoma de Barcelona
 
Principios para escribir un buen artículo
Principios para escribir un buen artículoPrincipios para escribir un buen artículo
Principios para escribir un buen artículo
Óscar Pech Lara
 
Jeu risques sécurité
Jeu risques sécuritéJeu risques sécurité
Jeu risques sécurité
CIPE
 
La política de inmigración. Especial atención a la realidad laboral de la pob...
La política de inmigración. Especial atención a la realidad laboral de la pob...La política de inmigración. Especial atención a la realidad laboral de la pob...
La política de inmigración. Especial atención a la realidad laboral de la pob...
Universidad Autónoma de Barcelona
 
Guide pratique Mairie du XIe arrondissement de Paris
Guide pratique Mairie du XIe arrondissement de ParisGuide pratique Mairie du XIe arrondissement de Paris
Guide pratique Mairie du XIe arrondissement de Paris
stephanie_legagne
 
Despidos colectivos. notas a la sentencia del ts de 17 de julio de 2014.
Despidos colectivos.  notas a la sentencia del ts de 17 de julio de 2014.Despidos colectivos.  notas a la sentencia del ts de 17 de julio de 2014.
Despidos colectivos. notas a la sentencia del ts de 17 de julio de 2014.
Universidad Autónoma de Barcelona
 

Destacado (20)

Bàdminton
BàdmintonBàdminton
Bàdminton
 
Débat #Communautez La presse demain ?
Débat #Communautez La presse demain ?Débat #Communautez La presse demain ?
Débat #Communautez La presse demain ?
 
La legislación errática y desordenada a la búsqueda del mantenimiento y la cr...
La legislación errática y desordenada a la búsqueda del mantenimiento y la cr...La legislación errática y desordenada a la búsqueda del mantenimiento y la cr...
La legislación errática y desordenada a la búsqueda del mantenimiento y la cr...
 
Principios para escribir un buen artículo
Principios para escribir un buen artículoPrincipios para escribir un buen artículo
Principios para escribir un buen artículo
 
Icud, Jóvenes en la red,...desmontando mitos ;-)
Icud, Jóvenes en la red,...desmontando mitos ;-)Icud, Jóvenes en la red,...desmontando mitos ;-)
Icud, Jóvenes en la red,...desmontando mitos ;-)
 
Jeu risques sécurité
Jeu risques sécuritéJeu risques sécurité
Jeu risques sécurité
 
Lettre des avocats de Dieudonné au ministre de l'Intérieur.
Lettre des avocats de Dieudonné au ministre de l'Intérieur.Lettre des avocats de Dieudonné au ministre de l'Intérieur.
Lettre des avocats de Dieudonné au ministre de l'Intérieur.
 
Practica4 rea
Practica4 reaPractica4 rea
Practica4 rea
 
Bloqueo de Páginas de Internet
Bloqueo de Páginas de InternetBloqueo de Páginas de Internet
Bloqueo de Páginas de Internet
 
La política de inmigración. Especial atención a la realidad laboral de la pob...
La política de inmigración. Especial atención a la realidad laboral de la pob...La política de inmigración. Especial atención a la realidad laboral de la pob...
La política de inmigración. Especial atención a la realidad laboral de la pob...
 
Comment se lancer dans le M-Commerce ?
Comment se lancer dans le M-Commerce ?Comment se lancer dans le M-Commerce ?
Comment se lancer dans le M-Commerce ?
 
Actu Eco 17/10/14
Actu Eco 17/10/14Actu Eco 17/10/14
Actu Eco 17/10/14
 
Presentación de María Isabel Torres respecto a la COP20
Presentación de María Isabel Torres respecto a la COP20Presentación de María Isabel Torres respecto a la COP20
Presentación de María Isabel Torres respecto a la COP20
 
Guide pratique Mairie du XIe arrondissement de Paris
Guide pratique Mairie du XIe arrondissement de ParisGuide pratique Mairie du XIe arrondissement de Paris
Guide pratique Mairie du XIe arrondissement de Paris
 
Despidos colectivos. notas a la sentencia del ts de 17 de julio de 2014.
Despidos colectivos.  notas a la sentencia del ts de 17 de julio de 2014.Despidos colectivos.  notas a la sentencia del ts de 17 de julio de 2014.
Despidos colectivos. notas a la sentencia del ts de 17 de julio de 2014.
 
Barcamp PrestaShop 2013 Présentation FEVAD
Barcamp PrestaShop 2013 Présentation FEVADBarcamp PrestaShop 2013 Présentation FEVAD
Barcamp PrestaShop 2013 Présentation FEVAD
 
Sites femeninos en España. Octubre 2010. Women sites in Spain. October 2010.
Sites femeninos en España. Octubre 2010. Women sites in Spain. October 2010.Sites femeninos en España. Octubre 2010. Women sites in Spain. October 2010.
Sites femeninos en España. Octubre 2010. Women sites in Spain. October 2010.
 
Presentation de la loi Hamon : Impacts pour les sites de vente en ligne
Presentation de la loi Hamon : Impacts pour les sites de vente en lignePresentation de la loi Hamon : Impacts pour les sites de vente en ligne
Presentation de la loi Hamon : Impacts pour les sites de vente en ligne
 
CAMILLE SAINT-SAËNS
CAMILLE SAINT-SAËNSCAMILLE SAINT-SAËNS
CAMILLE SAINT-SAËNS
 
Tech trends 2013
Tech trends 2013Tech trends 2013
Tech trends 2013
 

Similar a Test flight et les outils de distribution continue par simone civetta de xebia

Introduction à TeamCity
Introduction à TeamCityIntroduction à TeamCity
Introduction à TeamCity
Ulrich VACHON
 
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
PimpMySharePoint
 
Asp Au Service Des Mv Ps
Asp Au Service Des Mv PsAsp Au Service Des Mv Ps
Asp Au Service Des Mv Ps
Gregory Renard
 
Industrialisez vos projets Php
Industrialisez vos projets Php Industrialisez vos projets Php
Industrialisez vos projets Php
ALTER WAY
 
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
PimpMySharePoint
 

Similar a Test flight et les outils de distribution continue par simone civetta de xebia (20)

Android introvf
Android introvfAndroid introvf
Android introvf
 
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
 
Introduction à TeamCity
Introduction à TeamCityIntroduction à TeamCity
Introduction à TeamCity
 
20091020 - Normandy Jug - Builders Battle
20091020 - Normandy Jug - Builders Battle20091020 - Normandy Jug - Builders Battle
20091020 - Normandy Jug - Builders Battle
 
Silverlight 4
Silverlight 4Silverlight 4
Silverlight 4
 
1-android.pdf
1-android.pdf1-android.pdf
1-android.pdf
 
Starter Kits
Starter KitsStarter Kits
Starter Kits
 
Introduction à Samsung bada
Introduction à Samsung badaIntroduction à Samsung bada
Introduction à Samsung bada
 
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
 
Asp Au Service Des Mv Ps
Asp Au Service Des Mv PsAsp Au Service Des Mv Ps
Asp Au Service Des Mv Ps
 
Industrialisez vos projets Php
Industrialisez vos projets Php Industrialisez vos projets Php
Industrialisez vos projets Php
 
ACRA - Présentation PAUG Avril 2011
ACRA - Présentation PAUG Avril 2011ACRA - Présentation PAUG Avril 2011
ACRA - Présentation PAUG Avril 2011
 
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
 
La boite à outils pour réussir sa migration vers Windows 7
La boite à outils pour réussir sa migration vers Windows 7La boite à outils pour réussir sa migration vers Windows 7
La boite à outils pour réussir sa migration vers Windows 7
 
Mon environnement de travail a-t-il encore un avenir ?
Mon environnement de travail a-t-il encore un avenir ?Mon environnement de travail a-t-il encore un avenir ?
Mon environnement de travail a-t-il encore un avenir ?
 
Phoenix Presence: Le service temps réel de Phoenix - Paris.ex #8
Phoenix Presence: Le service temps réel de Phoenix - Paris.ex #8 Phoenix Presence: Le service temps réel de Phoenix - Paris.ex #8
Phoenix Presence: Le service temps réel de Phoenix - Paris.ex #8
 
Chaine de production pipeline
Chaine de production   pipelineChaine de production   pipeline
Chaine de production pipeline
 
Supervision et analyse de script batch
Supervision et analyse de script batchSupervision et analyse de script batch
Supervision et analyse de script batch
 
Adobe flex®
Adobe flex®Adobe flex®
Adobe flex®
 
Java dans Windows Azure: l'exemple de Jonas
Java dans Windows Azure: l'exemple de JonasJava dans Windows Azure: l'exemple de Jonas
Java dans Windows Azure: l'exemple de Jonas
 

Más de CocoaHeads France

Más de CocoaHeads France (20)

Mutation testing for a safer Future
Mutation testing for a safer FutureMutation testing for a safer Future
Mutation testing for a safer Future
 
iOS App Group for Debugging
iOS App Group for DebuggingiOS App Group for Debugging
iOS App Group for Debugging
 
Asynchronous swift
Asynchronous swiftAsynchronous swift
Asynchronous swift
 
Visual accessibility in iOS11
Visual accessibility in iOS11Visual accessibility in iOS11
Visual accessibility in iOS11
 
My script - One year of CocoaHeads
My script - One year of CocoaHeadsMy script - One year of CocoaHeads
My script - One year of CocoaHeads
 
Ui testing dealing with push notifications
Ui testing dealing with push notificationsUi testing dealing with push notifications
Ui testing dealing with push notifications
 
CONTINUOUS DELIVERY WITH FASTLANE
CONTINUOUS DELIVERY WITH FASTLANECONTINUOUS DELIVERY WITH FASTLANE
CONTINUOUS DELIVERY WITH FASTLANE
 
L'intégration continue avec Bitrise
L'intégration continue avec BitriseL'intégration continue avec Bitrise
L'intégration continue avec Bitrise
 
Super combinators
Super combinatorsSuper combinators
Super combinators
 
Design like a developer
Design like a developerDesign like a developer
Design like a developer
 
Handle the error
Handle the errorHandle the error
Handle the error
 
Quoi de neuf dans iOS 10.3
Quoi de neuf dans iOS 10.3Quoi de neuf dans iOS 10.3
Quoi de neuf dans iOS 10.3
 
IoT Best practices
 IoT Best practices IoT Best practices
IoT Best practices
 
SwiftyGPIO
SwiftyGPIOSwiftyGPIO
SwiftyGPIO
 
Présentation de HomeKit
Présentation de HomeKitPrésentation de HomeKit
Présentation de HomeKit
 
Programme MFI retour d'expérience
Programme MFI retour d'expérienceProgramme MFI retour d'expérience
Programme MFI retour d'expérience
 
How to communicate with Smart things?
How to communicate with Smart things?How to communicate with Smart things?
How to communicate with Smart things?
 
Build a lego app with CocoaPods
Build a lego app with CocoaPodsBuild a lego app with CocoaPods
Build a lego app with CocoaPods
 
Let's migrate to Swift 3.0
Let's migrate to Swift 3.0Let's migrate to Swift 3.0
Let's migrate to Swift 3.0
 
Project Entourage
Project EntourageProject Entourage
Project Entourage
 

Test flight et les outils de distribution continue par simone civetta de xebia

  • 1. TestFlight et les outils de distribution continue Simone Civetta Xebia IT Architects
  • 3. MAM
  • 4. Mobile Application Management Plateformes permettant de controller l’accès aux applications mobiles Gèrent le déploiement et la distribution Idéales pour la mise en place d’une stratégie BYOD dans les entreprises Peuvent prévoir des systèmes d’analyse d’usage (ex. nombre des lancements, durée des sessions)
  • 5.
  • 8. TestFlight TestFlight est une plateforme qualifiée de Mobile Application Manager (MAM), permettant notamment : le déploiement des build iOS et Android sur des terminaux mobiles la gestion des utilisateurs au sein de plusieurs équipes le suivi des usages, des sessions utilisateurs et des crashes
  • 9. Fonctionnalités Gestion automatique du profile d’approvisionnement Detecte automatiquement nom de l’appli, version, icône Récolte des crash (avec gestion des dsym) SDK Feedbacks Checkpoints Remote logging! Plugin Jenkins disponible
  • 11. Utilisateurs et applications 2 sections principales : Apps : permet upload / modification / suppression des builds et le suivi des bugs et de l’utilisation de l’application. People : donne accès à la gestion des utilisateurs de l’équipe, de la soumission des invitations ainsi que de la révocation des accès
  • 12. Apps : détail d’un build
  • 13. Apps : droits ! ! ! ! ! ! ! La gestion du profile d’approvisionnement est intégrée dans TF
  • 14. People : gestion des utilisateurs
  • 15. SDK / 1 SDK disponible pour iOS et Android. Compatible avec CocoaPods Insérer dans application:didFinisLaunchingWithOptions: [TestFlight  takeOff:APP_TOKEN];   ! L’App Token est l’ID utilisé par TestFlight afin de reconnaître l’application qui génère la session. Information disponible sur la page App Token sur le site TestFlight. Chaque token est uniquement attribué à un Bundle ID.
  • 16. SDK / 2 Paramètres supplémentaires peuvent être ajoutés avant le takeOff : addCustomEnvironmentInformation:forKey:       permet de remonter des informations spécifiques à afficher dans le panneau de la session
  • 17. SDK / 3 Remote logging : possibilité de rediriger les logs vers TestFlight Accessibles directement en ligne, dans le détail d’une session utilisateur ! //  MyApp-­‐prefix.pch        #import  "TestFlight.h"      #define  NSLog(__FORMAT__,  ...)  TFLog((@  "%s  [Line   %d]  "  __FORMAT__),  __PRETTY_FUNCTION__,  __LINE__,   ##__VA_ARGS__)   ! Checkpoints : mots-clés définis par le développeur Permettent de suivre les étapes qui sont effectuées par l’utilisateur final ! [TestFlight passCheckpoint:CHECKPOINT_NAME];
  • 22. Introduction HockeyApp est une solution permettant le déploiement de builds : iOS Mac OS Android Windows Phone Windows 8
  • 23. Fonctionnalités Gestion automatique du profile d’approvisionnement Detecte automatiquement nom de l’appli, version, icône Récolte des crash (avec gestion des dsym) SDK Feedbacks Bug Tracker! Authentification in-app des utilisateurs Plugin Jenkins disponible
  • 25. SDK Récolte des crash Feedbacks Authentification in-app des utilisateurs Notification de maj (alertView in-app)
  • 26. et aussi… Ensemble d’API pour la création et la gestion des membres de l’équipe, invitations, profils d’approvisionnement, crash, feedback, etc. WebHooks : possibilité de notifier une URL personnalisée à chaque fois qu’un événement spécifique a eu lieu (ex. nouveau crash)
  • 27.
  • 30. Introduction HockeyKit est une solution client/serveur gratuite Développée par l’équipe de HockeyApp Serveur : quelques fichiers PHP Installation très facile sur n’importe quel solution de hébergement PHP (pas besoin d’une BDD)
  • 31. Fonctionnalités Notifications in-app de maj disponibles Simples statistiques de téléchargement (iOS seulement) Publication des profils d’approvisionnement SDK (très basique) Page de release notes
  • 32. SDK Notification in-app de maj disponibles Simple statistiques (iOS seulement) Pages AppStore-like
  • 35. Introduction Knappsack est une solution SaaS payante… …dont le code source est distribué gratuitement sur GitHub Supporte iOS et Android Serveur : Java (Spring) Interface optimisée pour l’accès depuis mobile (JQuery Mobile)
  • 36. Fonctionnalités Gestion avancée des utilisateurs: Organisations Groupes d’utilisateurs Gestion des invitations Possibilité d’organiser les applications en categories Simples statistiques de téléchargement API pour upload/gestion des builds Plugin Jenkins disponible
  • 39.
  • 40. Introduction Solution de déploiement de fichiers ipa uniquement Fait partie des outils Nomad (nomad-cli.com) par Mattt Supporte : TestFlight HockeyApp Amazon S3 FTP/SFTP
  • 41. Entièrement en ligne de commande
  • 42. Exemple La commande! ipa  distribute:ftp  
  -­‐f  Xebia.ipa
  -­‐-­‐host  ftp.example.com  -­‐u  MY_USER  -­‐p  MY_PWD
  -­‐-­‐mkdir
  -­‐P  /apps/{CFBundleName}/{CFBundleVersion}/   Crée automatiquement le fichier dans le chemin ! ! ftp.example.com/apps/Xebia-iOS/1.0/Xebia.ipa! ! Idéale pour intégration dans une usine logicielle
  • 44. TestFlight HockeyApp HockeyKit Knappsack Support SaaS SaaS self-hosted self-hosted Récuperation auto infos app ✔ ✔ ✘ ✘ Gestion builds ✔ ✔ ✘ ✔ Gestion utilisateurs ✔ ✔ ✘ ✔ Crashes ✔ ✔ ✘ ✘ Statistiques d’installation ✔ ✔ ✔ ✔ Feedbacks ✔ ✔ ✘ ✔ Checkpoints ✔ ✘ ✘ ✘ Remote Logging ✔ ✘ ✘ ✘ Authentif. utilisateurs (in-app) ✘ ✔ ✘ ✘ APIs ✘ ✔ ✘ ✔ WebHooks ✘ ✔ ✘ ✘ iOS ✔ ✔ ✔ ✔ Android ✘ ✔ ✔ ✔ Windows Phone ✘ ✔ ✘ ✘ Intégration Jenkins ✔ ✔ ✘ ✔ Taille maximale build 800Mo 2Go ∞ ∞ Prix Gratuit ≥ 10$/mois Gratuit Gratuit
  • 45.