SlideShare una empresa de Scribd logo
1 de 12
From Xcode to AppStore
The Agile way
                         Filipp Keks




© Swedbank
© Swedbank   2
The recipe

  •    Version control
  •    Continuous integration
  •    Build automation
  •    Test automation
  •    Business guys involved




© Swedbank
Apple is ANTIagile

  • iOS app can only be built on Mac.
  • iPhone simulator can only run on Mac with full development
    environment.
  • GUI parts can only be edited with Xcodes UI builder
  • Apps can be installed only through AppStore
  • Command line tools sometimes poorly documented.
  • No automation for AppStore uploading.
  • App verification by Apple staff takes from 1 week to months.



© Swedbank
Problem: Can only be built on Mac

• The answer is Hudsons distributed builds
     –       Apples command line tools + ant




© Swedbank                                     5
Problem: Can only be built on Mac (2)

                                        Provisioning build




                                        Development build

             SVN   Hudson


                                         Simulator build




                                        Distribution build



© Swedbank                                                   6
Problem: Apps can be installed only
through AppStore

  • Apple provides temporary testing certificates for max 100
    devices per application.
  • Solution is to apply certificates automatically during build.
  • Another solution is to jailbreak :)




© Swedbank
Problem: GUI parts can only be edited with
Xcodes UI builder
• Business people like to change every tiny piece of text in the
  application.
• If they cant do it themselves you will not have any time to
  code :)
• The solution is to keep texts in text files and inject them into the
  UI views using Xcodes command line ibtool during build.




© Swedbank                                                               8
Installing prebuilt app on simulator

  • Installing prebuilt app on simulator is not officially supported by
    Apple
  • Simulator can be run in command line
  • Parameters are reverse engineered and available on the web




© Swedbank
Release automation and review delay

  • Unsolved :(




© Swedbank
Good practices for agile iOS
developer

  • Install test application on as many devices as possible before
    AppStore release
  • Allow business people to change app and see results without
    developers being involved
  • Try third party Objective C IDEs like Jetbrains Cider as an
    alternative to Xcode.
  • Write good reviews for your own app on AppStore :)




© Swedbank
Thank you!




© Swedbank                12

Más contenido relacionado

La actualidad más candente

Finland Azure User Group #8 DevOps Mobile Client Releases
Finland Azure User Group #8 DevOps Mobile Client Releases Finland Azure User Group #8 DevOps Mobile Client Releases
Finland Azure User Group #8 DevOps Mobile Client Releases Okko Oulasvirta
 
Appium: Prime Cuts
Appium: Prime CutsAppium: Prime Cuts
Appium: Prime CutsSauce Labs
 
Selenium Camp 2016
Selenium Camp 2016Selenium Camp 2016
Selenium Camp 2016Dan Cuellar
 
An Introduction to Appium Desktop
An Introduction to Appium DesktopAn Introduction to Appium Desktop
An Introduction to Appium DesktopSauce Labs
 
MVVM Light for UWP
MVVM Light for UWPMVVM Light for UWP
MVVM Light for UWPRobert Iagar
 
Building Cross-Platform JavaScript Apps using Cordova
Building Cross-Platform JavaScript Apps using CordovaBuilding Cross-Platform JavaScript Apps using Cordova
Building Cross-Platform JavaScript Apps using CordovaNoam Kfir
 
Appium tutorial| Appium Training
Appium tutorial| Appium Training Appium tutorial| Appium Training
Appium tutorial| Appium Training QA Masters
 
Wheat - Mobile functional test automation
Wheat - Mobile functional test automationWheat - Mobile functional test automation
Wheat - Mobile functional test automationSunny Tambi
 
IBM Bluemix Cloud Platform Application Development with Eclipse IDE
IBM Bluemix Cloud Platform Application Development with Eclipse IDEIBM Bluemix Cloud Platform Application Development with Eclipse IDE
IBM Bluemix Cloud Platform Application Development with Eclipse IDEhkbhadraa
 
Appium mobile web+dev conference
Appium   mobile web+dev conferenceAppium   mobile web+dev conference
Appium mobile web+dev conferenceIsaac Murchie
 
Develop android application with mono for android
Develop android application with mono for androidDevelop android application with mono for android
Develop android application with mono for androidNicko Satria Consulting
 
5 Secrets to Successfully Publishing in Appcelerator's Marketplace
5 Secrets to Successfully Publishing in Appcelerator's Marketplace5 Secrets to Successfully Publishing in Appcelerator's Marketplace
5 Secrets to Successfully Publishing in Appcelerator's MarketplaceAxway Appcelerator
 
3 - Getting Started with mobile app development with the Microsoft Graph
3 - Getting Started with mobile app development with the Microsoft Graph 3 - Getting Started with mobile app development with the Microsoft Graph
3 - Getting Started with mobile app development with the Microsoft Graph İbrahim KIVANÇ
 
Discover Android Wear
Discover Android WearDiscover Android Wear
Discover Android WearTroy Miles
 
Evolving Mobile Architectures
Evolving Mobile ArchitecturesEvolving Mobile Architectures
Evolving Mobile Architecturessgleadow
 
Project on mp4 Media Player using JavaFx
Project on mp4 Media Player using JavaFxProject on mp4 Media Player using JavaFx
Project on mp4 Media Player using JavaFxKanupriya .
 
Hybrid Mobile Development - Overview and Intro to Cordova/Ionic Framework
Hybrid Mobile Development - Overview and Intro to Cordova/Ionic FrameworkHybrid Mobile Development - Overview and Intro to Cordova/Ionic Framework
Hybrid Mobile Development - Overview and Intro to Cordova/Ionic FrameworkRashmika Nawaratne
 
One Test To Rule Them All - Conquer Android and iOS With One Script
One Test To Rule Them All - Conquer Android and iOS With One ScriptOne Test To Rule Them All - Conquer Android and iOS With One Script
One Test To Rule Them All - Conquer Android and iOS With One ScriptSauce Labs
 
Top 4 Cross Platform tools for Mobile App Development
Top 4 Cross Platform tools for Mobile App DevelopmentTop 4 Cross Platform tools for Mobile App Development
Top 4 Cross Platform tools for Mobile App Developmenttechugo
 
Developer Experience (DX) for UX Professionals
Developer Experience (DX) for UX ProfessionalsDeveloper Experience (DX) for UX Professionals
Developer Experience (DX) for UX ProfessionalsIan Jennings
 

La actualidad más candente (20)

Finland Azure User Group #8 DevOps Mobile Client Releases
Finland Azure User Group #8 DevOps Mobile Client Releases Finland Azure User Group #8 DevOps Mobile Client Releases
Finland Azure User Group #8 DevOps Mobile Client Releases
 
Appium: Prime Cuts
Appium: Prime CutsAppium: Prime Cuts
Appium: Prime Cuts
 
Selenium Camp 2016
Selenium Camp 2016Selenium Camp 2016
Selenium Camp 2016
 
An Introduction to Appium Desktop
An Introduction to Appium DesktopAn Introduction to Appium Desktop
An Introduction to Appium Desktop
 
MVVM Light for UWP
MVVM Light for UWPMVVM Light for UWP
MVVM Light for UWP
 
Building Cross-Platform JavaScript Apps using Cordova
Building Cross-Platform JavaScript Apps using CordovaBuilding Cross-Platform JavaScript Apps using Cordova
Building Cross-Platform JavaScript Apps using Cordova
 
Appium tutorial| Appium Training
Appium tutorial| Appium Training Appium tutorial| Appium Training
Appium tutorial| Appium Training
 
Wheat - Mobile functional test automation
Wheat - Mobile functional test automationWheat - Mobile functional test automation
Wheat - Mobile functional test automation
 
IBM Bluemix Cloud Platform Application Development with Eclipse IDE
IBM Bluemix Cloud Platform Application Development with Eclipse IDEIBM Bluemix Cloud Platform Application Development with Eclipse IDE
IBM Bluemix Cloud Platform Application Development with Eclipse IDE
 
Appium mobile web+dev conference
Appium   mobile web+dev conferenceAppium   mobile web+dev conference
Appium mobile web+dev conference
 
Develop android application with mono for android
Develop android application with mono for androidDevelop android application with mono for android
Develop android application with mono for android
 
5 Secrets to Successfully Publishing in Appcelerator's Marketplace
5 Secrets to Successfully Publishing in Appcelerator's Marketplace5 Secrets to Successfully Publishing in Appcelerator's Marketplace
5 Secrets to Successfully Publishing in Appcelerator's Marketplace
 
3 - Getting Started with mobile app development with the Microsoft Graph
3 - Getting Started with mobile app development with the Microsoft Graph 3 - Getting Started with mobile app development with the Microsoft Graph
3 - Getting Started with mobile app development with the Microsoft Graph
 
Discover Android Wear
Discover Android WearDiscover Android Wear
Discover Android Wear
 
Evolving Mobile Architectures
Evolving Mobile ArchitecturesEvolving Mobile Architectures
Evolving Mobile Architectures
 
Project on mp4 Media Player using JavaFx
Project on mp4 Media Player using JavaFxProject on mp4 Media Player using JavaFx
Project on mp4 Media Player using JavaFx
 
Hybrid Mobile Development - Overview and Intro to Cordova/Ionic Framework
Hybrid Mobile Development - Overview and Intro to Cordova/Ionic FrameworkHybrid Mobile Development - Overview and Intro to Cordova/Ionic Framework
Hybrid Mobile Development - Overview and Intro to Cordova/Ionic Framework
 
One Test To Rule Them All - Conquer Android and iOS With One Script
One Test To Rule Them All - Conquer Android and iOS With One ScriptOne Test To Rule Them All - Conquer Android and iOS With One Script
One Test To Rule Them All - Conquer Android and iOS With One Script
 
Top 4 Cross Platform tools for Mobile App Development
Top 4 Cross Platform tools for Mobile App DevelopmentTop 4 Cross Platform tools for Mobile App Development
Top 4 Cross Platform tools for Mobile App Development
 
Developer Experience (DX) for UX Professionals
Developer Experience (DX) for UX ProfessionalsDeveloper Experience (DX) for UX Professionals
Developer Experience (DX) for UX Professionals
 

Similar a From Xcode to App Store, the Agile way @ MoMo Tallinn 06.06.11

Automated Testing and Continuous Deployment for Mobile Apps with Jenkins
Automated Testing and Continuous Deployment for Mobile Apps with Jenkins Automated Testing and Continuous Deployment for Mobile Apps with Jenkins
Automated Testing and Continuous Deployment for Mobile Apps with Jenkins CloudBees
 
SFD 2014: Multiplatform App Development with Migeran
SFD 2014: Multiplatform App Development with MigeranSFD 2014: Multiplatform App Development with Migeran
SFD 2014: Multiplatform App Development with MigeranGergely Kis
 
We4IT lcty 2013 - infra-man - whats new in ibm domino application development
We4IT lcty 2013 - infra-man - whats new in ibm domino application developmentWe4IT lcty 2013 - infra-man - whats new in ibm domino application development
We4IT lcty 2013 - infra-man - whats new in ibm domino application developmentWe4IT Group
 
What Visual Studio Code can do for Java Development
What Visual Studio Code can do for Java DevelopmentWhat Visual Studio Code can do for Java Development
What Visual Studio Code can do for Java DevelopmentEd Burns
 
Migrating Unity3D projects to Windows 8
Migrating Unity3D projects to Windows 8Migrating Unity3D projects to Windows 8
Migrating Unity3D projects to Windows 8282productions
 
MOE: Cross Platform Mobile Apps in Java
MOE: Cross Platform Mobile Apps in JavaMOE: Cross Platform Mobile Apps in Java
MOE: Cross Platform Mobile Apps in JavaGergely Kis
 
Android Application Development Using Java
Android Application Development Using JavaAndroid Application Development Using Java
Android Application Development Using Javaamaankhan
 
DCAST Meetup - Washington, DC Feb 2016
DCAST Meetup - Washington, DC Feb 2016DCAST Meetup - Washington, DC Feb 2016
DCAST Meetup - Washington, DC Feb 2016Justin Ison
 
Cross platform mobile application devlopment
Cross platform mobile application devlopmentCross platform mobile application devlopment
Cross platform mobile application devlopmentPrabhat gangwar
 
Milam j brooke project 4 tablet-mobile design
Milam j brooke project 4 tablet-mobile designMilam j brooke project 4 tablet-mobile design
Milam j brooke project 4 tablet-mobile designbmi6802
 
MobileCity:Introduction to IOS
MobileCity:Introduction to IOSMobileCity:Introduction to IOS
MobileCity:Introduction to IOSAllan Davis
 
Bienvenido .Net MAUI - la evolución de Xamarin.Forms
Bienvenido .Net MAUI - la evolución de Xamarin.FormsBienvenido .Net MAUI - la evolución de Xamarin.Forms
Bienvenido .Net MAUI - la evolución de Xamarin.FormsVicente Gerardo Guzman Lucio
 
Building Native “apps” with Visual Studio 2015
Building Native “apps” with Visual Studio 2015Building Native “apps” with Visual Studio 2015
Building Native “apps” with Visual Studio 2015Mike Melusky
 
Continuous integration by Rémy Virin
Continuous integration by Rémy VirinContinuous integration by Rémy Virin
Continuous integration by Rémy VirinCocoaHeads France
 
Introduction to Cross-Platform Hybrid Mobile App Development
Introduction to Cross-Platform Hybrid Mobile App DevelopmentIntroduction to Cross-Platform Hybrid Mobile App Development
Introduction to Cross-Platform Hybrid Mobile App DevelopmentÖzcan Zafer AYAN
 
Post Windows Mobile: New Application Development Platforms
Post Windows Mobile: New Application Development PlatformsPost Windows Mobile: New Application Development Platforms
Post Windows Mobile: New Application Development PlatformsBarcoding, Inc.
 
EastBay.NET - Introduction to MonoTouch
EastBay.NET - Introduction to MonoTouchEastBay.NET - Introduction to MonoTouch
EastBay.NET - Introduction to MonoTouchmobiweave
 

Similar a From Xcode to App Store, the Agile way @ MoMo Tallinn 06.06.11 (20)

Automated Testing and Continuous Deployment for Mobile Apps with Jenkins
Automated Testing and Continuous Deployment for Mobile Apps with Jenkins Automated Testing and Continuous Deployment for Mobile Apps with Jenkins
Automated Testing and Continuous Deployment for Mobile Apps with Jenkins
 
SFD 2014: Multiplatform App Development with Migeran
SFD 2014: Multiplatform App Development with MigeranSFD 2014: Multiplatform App Development with Migeran
SFD 2014: Multiplatform App Development with Migeran
 
We4IT lcty 2013 - infra-man - whats new in ibm domino application development
We4IT lcty 2013 - infra-man - whats new in ibm domino application developmentWe4IT lcty 2013 - infra-man - whats new in ibm domino application development
We4IT lcty 2013 - infra-man - whats new in ibm domino application development
 
Xamarin v.Now
Xamarin v.NowXamarin v.Now
Xamarin v.Now
 
What Visual Studio Code can do for Java Development
What Visual Studio Code can do for Java DevelopmentWhat Visual Studio Code can do for Java Development
What Visual Studio Code can do for Java Development
 
Migrating Unity3D projects to Windows 8
Migrating Unity3D projects to Windows 8Migrating Unity3D projects to Windows 8
Migrating Unity3D projects to Windows 8
 
MOE: Cross Platform Mobile Apps in Java
MOE: Cross Platform Mobile Apps in JavaMOE: Cross Platform Mobile Apps in Java
MOE: Cross Platform Mobile Apps in Java
 
Android Application Development Using Java
Android Application Development Using JavaAndroid Application Development Using Java
Android Application Development Using Java
 
Day 8 sketchware
Day 8  sketchwareDay 8  sketchware
Day 8 sketchware
 
DCAST Meetup - Washington, DC Feb 2016
DCAST Meetup - Washington, DC Feb 2016DCAST Meetup - Washington, DC Feb 2016
DCAST Meetup - Washington, DC Feb 2016
 
Cross platform mobile application devlopment
Cross platform mobile application devlopmentCross platform mobile application devlopment
Cross platform mobile application devlopment
 
Milam j brooke project 4 tablet-mobile design
Milam j brooke project 4 tablet-mobile designMilam j brooke project 4 tablet-mobile design
Milam j brooke project 4 tablet-mobile design
 
MobileCity:Introduction to IOS
MobileCity:Introduction to IOSMobileCity:Introduction to IOS
MobileCity:Introduction to IOS
 
Bienvenido .Net MAUI - la evolución de Xamarin.Forms
Bienvenido .Net MAUI - la evolución de Xamarin.FormsBienvenido .Net MAUI - la evolución de Xamarin.Forms
Bienvenido .Net MAUI - la evolución de Xamarin.Forms
 
Building Native “apps” with Visual Studio 2015
Building Native “apps” with Visual Studio 2015Building Native “apps” with Visual Studio 2015
Building Native “apps” with Visual Studio 2015
 
Ios - Intorduction to view controller
Ios - Intorduction to view controllerIos - Intorduction to view controller
Ios - Intorduction to view controller
 
Continuous integration by Rémy Virin
Continuous integration by Rémy VirinContinuous integration by Rémy Virin
Continuous integration by Rémy Virin
 
Introduction to Cross-Platform Hybrid Mobile App Development
Introduction to Cross-Platform Hybrid Mobile App DevelopmentIntroduction to Cross-Platform Hybrid Mobile App Development
Introduction to Cross-Platform Hybrid Mobile App Development
 
Post Windows Mobile: New Application Development Platforms
Post Windows Mobile: New Application Development PlatformsPost Windows Mobile: New Application Development Platforms
Post Windows Mobile: New Application Development Platforms
 
EastBay.NET - Introduction to MonoTouch
EastBay.NET - Introduction to MonoTouchEastBay.NET - Introduction to MonoTouch
EastBay.NET - Introduction to MonoTouch
 

Más de MobileMonday Estonia

Modern problems in backend engineering, Siim Kaspar Uustalu
Modern problems in backend engineering, Siim Kaspar UustaluModern problems in backend engineering, Siim Kaspar Uustalu
Modern problems in backend engineering, Siim Kaspar UustaluMobileMonday Estonia
 
Modern problems in backend engineering, Marten Meikop
Modern problems in backend engineering, Marten MeikopModern problems in backend engineering, Marten Meikop
Modern problems in backend engineering, Marten MeikopMobileMonday Estonia
 
Modern problems in backend engineering, Asko Tiidumaa
Modern problems in backend engineering, Asko TiidumaaModern problems in backend engineering, Asko Tiidumaa
Modern problems in backend engineering, Asko TiidumaaMobileMonday Estonia
 
Modern problems in backend engineering, Joel Mislav Kunst
Modern problems in backend engineering, Joel Mislav KunstModern problems in backend engineering, Joel Mislav Kunst
Modern problems in backend engineering, Joel Mislav KunstMobileMonday Estonia
 
Modern problems in backend engineering, Jüri Tarkpea
Modern problems in backend engineering, Jüri TarkpeaModern problems in backend engineering, Jüri Tarkpea
Modern problems in backend engineering, Jüri TarkpeaMobileMonday Estonia
 
Scientists meet Entrepreneurs - AI & Machine Learning, Mark Fishel, Institute...
Scientists meet Entrepreneurs - AI & Machine Learning, Mark Fishel, Institute...Scientists meet Entrepreneurs - AI & Machine Learning, Mark Fishel, Institute...
Scientists meet Entrepreneurs - AI & Machine Learning, Mark Fishel, Institute...MobileMonday Estonia
 
Scientists meet Entrepreneurs - AI & Machine Learning, Kristjan Korjus, Starship
Scientists meet Entrepreneurs - AI & Machine Learning, Kristjan Korjus, StarshipScientists meet Entrepreneurs - AI & Machine Learning, Kristjan Korjus, Starship
Scientists meet Entrepreneurs - AI & Machine Learning, Kristjan Korjus, StarshipMobileMonday Estonia
 
Scientists meet Entrepreneurs - AI & Machine Learning, Peeter Piksarv, Moonca...
Scientists meet Entrepreneurs - AI & Machine Learning, Peeter Piksarv, Moonca...Scientists meet Entrepreneurs - AI & Machine Learning, Peeter Piksarv, Moonca...
Scientists meet Entrepreneurs - AI & Machine Learning, Peeter Piksarv, Moonca...MobileMonday Estonia
 
Scientists meet Entrepreneurs - AI & Machine Learning, Tambet Matiisen, Unive...
Scientists meet Entrepreneurs - AI & Machine Learning, Tambet Matiisen, Unive...Scientists meet Entrepreneurs - AI & Machine Learning, Tambet Matiisen, Unive...
Scientists meet Entrepreneurs - AI & Machine Learning, Tambet Matiisen, Unive...MobileMonday Estonia
 
Scientists meet Entrepreneurs - AI & Machine Learning, Dima Fishman, Universi...
Scientists meet Entrepreneurs - AI & Machine Learning, Dima Fishman, Universi...Scientists meet Entrepreneurs - AI & Machine Learning, Dima Fishman, Universi...
Scientists meet Entrepreneurs - AI & Machine Learning, Dima Fishman, Universi...MobileMonday Estonia
 
Space Edition, Sven Lilla, ESA BIC
Space Edition, Sven Lilla, ESA BICSpace Edition, Sven Lilla, ESA BIC
Space Edition, Sven Lilla, ESA BICMobileMonday Estonia
 
Space Edition, Kadri Bussov, EST Cube
Space Edition, Kadri Bussov, EST CubeSpace Edition, Kadri Bussov, EST Cube
Space Edition, Kadri Bussov, EST CubeMobileMonday Estonia
 
Space Edition, Kalev Koppel, KappaZetta
Space Edition, Kalev Koppel, KappaZettaSpace Edition, Kalev Koppel, KappaZetta
Space Edition, Kalev Koppel, KappaZettaMobileMonday Estonia
 
Space Edition, Dr. Ali Nadir Arslan
Space Edition, Dr. Ali Nadir Arslan Space Edition, Dr. Ali Nadir Arslan
Space Edition, Dr. Ali Nadir Arslan MobileMonday Estonia
 
Product Marketing, Kair Käsper, Pipedrive
Product Marketing, Kair Käsper, PipedriveProduct Marketing, Kair Käsper, Pipedrive
Product Marketing, Kair Käsper, PipedriveMobileMonday Estonia
 
Product Marketing, Mattias Liivak, Fortumo
Product Marketing, Mattias Liivak, FortumoProduct Marketing, Mattias Liivak, Fortumo
Product Marketing, Mattias Liivak, FortumoMobileMonday Estonia
 
What Does it take to Develop Kickass Products?, Laura Noodapera
What Does it take to Develop Kickass Products?, Laura NoodaperaWhat Does it take to Develop Kickass Products?, Laura Noodapera
What Does it take to Develop Kickass Products?, Laura NoodaperaMobileMonday Estonia
 
What Does it take to Develop Kickass Products?, Britt Maasalu
What Does it take to Develop Kickass Products?, Britt MaasaluWhat Does it take to Develop Kickass Products?, Britt Maasalu
What Does it take to Develop Kickass Products?, Britt MaasaluMobileMonday Estonia
 
Meeting Female Entrepreneurs in Tech, Triinu Sirge
Meeting Female Entrepreneurs in Tech, Triinu SirgeMeeting Female Entrepreneurs in Tech, Triinu Sirge
Meeting Female Entrepreneurs in Tech, Triinu SirgeMobileMonday Estonia
 

Más de MobileMonday Estonia (20)

Modern problems in backend engineering, Siim Kaspar Uustalu
Modern problems in backend engineering, Siim Kaspar UustaluModern problems in backend engineering, Siim Kaspar Uustalu
Modern problems in backend engineering, Siim Kaspar Uustalu
 
Modern problems in backend engineering, Marten Meikop
Modern problems in backend engineering, Marten MeikopModern problems in backend engineering, Marten Meikop
Modern problems in backend engineering, Marten Meikop
 
Modern problems in backend engineering, Asko Tiidumaa
Modern problems in backend engineering, Asko TiidumaaModern problems in backend engineering, Asko Tiidumaa
Modern problems in backend engineering, Asko Tiidumaa
 
Modern problems in backend engineering, Joel Mislav Kunst
Modern problems in backend engineering, Joel Mislav KunstModern problems in backend engineering, Joel Mislav Kunst
Modern problems in backend engineering, Joel Mislav Kunst
 
Modern problems in backend engineering, Jüri Tarkpea
Modern problems in backend engineering, Jüri TarkpeaModern problems in backend engineering, Jüri Tarkpea
Modern problems in backend engineering, Jüri Tarkpea
 
Scientists meet Entrepreneurs - AI & Machine Learning, Mark Fishel, Institute...
Scientists meet Entrepreneurs - AI & Machine Learning, Mark Fishel, Institute...Scientists meet Entrepreneurs - AI & Machine Learning, Mark Fishel, Institute...
Scientists meet Entrepreneurs - AI & Machine Learning, Mark Fishel, Institute...
 
Scientists meet Entrepreneurs - AI & Machine Learning, Kristjan Korjus, Starship
Scientists meet Entrepreneurs - AI & Machine Learning, Kristjan Korjus, StarshipScientists meet Entrepreneurs - AI & Machine Learning, Kristjan Korjus, Starship
Scientists meet Entrepreneurs - AI & Machine Learning, Kristjan Korjus, Starship
 
Scientists meet Entrepreneurs - AI & Machine Learning, Peeter Piksarv, Moonca...
Scientists meet Entrepreneurs - AI & Machine Learning, Peeter Piksarv, Moonca...Scientists meet Entrepreneurs - AI & Machine Learning, Peeter Piksarv, Moonca...
Scientists meet Entrepreneurs - AI & Machine Learning, Peeter Piksarv, Moonca...
 
Scientists meet Entrepreneurs - AI & Machine Learning, Tambet Matiisen, Unive...
Scientists meet Entrepreneurs - AI & Machine Learning, Tambet Matiisen, Unive...Scientists meet Entrepreneurs - AI & Machine Learning, Tambet Matiisen, Unive...
Scientists meet Entrepreneurs - AI & Machine Learning, Tambet Matiisen, Unive...
 
Scientists meet Entrepreneurs - AI & Machine Learning, Dima Fishman, Universi...
Scientists meet Entrepreneurs - AI & Machine Learning, Dima Fishman, Universi...Scientists meet Entrepreneurs - AI & Machine Learning, Dima Fishman, Universi...
Scientists meet Entrepreneurs - AI & Machine Learning, Dima Fishman, Universi...
 
Space Edition, Sven Lilla, ESA BIC
Space Edition, Sven Lilla, ESA BICSpace Edition, Sven Lilla, ESA BIC
Space Edition, Sven Lilla, ESA BIC
 
Space Edition, Kadri Bussov, EST Cube
Space Edition, Kadri Bussov, EST CubeSpace Edition, Kadri Bussov, EST Cube
Space Edition, Kadri Bussov, EST Cube
 
Space Edition, Kalev Koppel, KappaZetta
Space Edition, Kalev Koppel, KappaZettaSpace Edition, Kalev Koppel, KappaZetta
Space Edition, Kalev Koppel, KappaZetta
 
Space Edition, Dr. Ali Nadir Arslan
Space Edition, Dr. Ali Nadir Arslan Space Edition, Dr. Ali Nadir Arslan
Space Edition, Dr. Ali Nadir Arslan
 
Product Marketing, Kair Käsper, Pipedrive
Product Marketing, Kair Käsper, PipedriveProduct Marketing, Kair Käsper, Pipedrive
Product Marketing, Kair Käsper, Pipedrive
 
Product Marketing, Marelle Ellen
Product Marketing, Marelle EllenProduct Marketing, Marelle Ellen
Product Marketing, Marelle Ellen
 
Product Marketing, Mattias Liivak, Fortumo
Product Marketing, Mattias Liivak, FortumoProduct Marketing, Mattias Liivak, Fortumo
Product Marketing, Mattias Liivak, Fortumo
 
What Does it take to Develop Kickass Products?, Laura Noodapera
What Does it take to Develop Kickass Products?, Laura NoodaperaWhat Does it take to Develop Kickass Products?, Laura Noodapera
What Does it take to Develop Kickass Products?, Laura Noodapera
 
What Does it take to Develop Kickass Products?, Britt Maasalu
What Does it take to Develop Kickass Products?, Britt MaasaluWhat Does it take to Develop Kickass Products?, Britt Maasalu
What Does it take to Develop Kickass Products?, Britt Maasalu
 
Meeting Female Entrepreneurs in Tech, Triinu Sirge
Meeting Female Entrepreneurs in Tech, Triinu SirgeMeeting Female Entrepreneurs in Tech, Triinu Sirge
Meeting Female Entrepreneurs in Tech, Triinu Sirge
 

Último

ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 

Último (20)

ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 

From Xcode to App Store, the Agile way @ MoMo Tallinn 06.06.11

  • 1. From Xcode to AppStore The Agile way Filipp Keks © Swedbank
  • 3. The recipe • Version control • Continuous integration • Build automation • Test automation • Business guys involved © Swedbank
  • 4. Apple is ANTIagile • iOS app can only be built on Mac. • iPhone simulator can only run on Mac with full development environment. • GUI parts can only be edited with Xcodes UI builder • Apps can be installed only through AppStore • Command line tools sometimes poorly documented. • No automation for AppStore uploading. • App verification by Apple staff takes from 1 week to months. © Swedbank
  • 5. Problem: Can only be built on Mac • The answer is Hudsons distributed builds – Apples command line tools + ant © Swedbank 5
  • 6. Problem: Can only be built on Mac (2) Provisioning build Development build SVN Hudson Simulator build Distribution build © Swedbank 6
  • 7. Problem: Apps can be installed only through AppStore • Apple provides temporary testing certificates for max 100 devices per application. • Solution is to apply certificates automatically during build. • Another solution is to jailbreak :) © Swedbank
  • 8. Problem: GUI parts can only be edited with Xcodes UI builder • Business people like to change every tiny piece of text in the application. • If they cant do it themselves you will not have any time to code :) • The solution is to keep texts in text files and inject them into the UI views using Xcodes command line ibtool during build. © Swedbank 8
  • 9. Installing prebuilt app on simulator • Installing prebuilt app on simulator is not officially supported by Apple • Simulator can be run in command line • Parameters are reverse engineered and available on the web © Swedbank
  • 10. Release automation and review delay • Unsolved :( © Swedbank
  • 11. Good practices for agile iOS developer • Install test application on as many devices as possible before AppStore release • Allow business people to change app and see results without developers being involved • Try third party Objective C IDEs like Jetbrains Cider as an alternative to Xcode. • Write good reviews for your own app on AppStore :) © Swedbank