Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Apache Cordova iOS-Plugins

Apache Cordova iOS-Plugins

Marcus Ross

October 21, 2012
Tweet

More Decks by Marcus Ross

Other Decks in Programming

Transcript

  1. ipdc_conference                  

       #ipdc12   www.iphone-­‐developer-­‐conference.de   PhoneGap  /  Apache  Cordova   für  iOS   Marcus  Ross   Trainer/Freelancer   @zahlenhelfer  
  2. ipdc_conference                  

       #ipdc12   www.iphone-­‐developer-­‐conference.de   Agenda   •  PhoneGap  Einführung   •  Neuigkeiten  bei  PhoneGap   •  Plugins  und  iOS   •  Plugins  selber  schreiben  
  3. ipdc_conference                  

       #ipdc12   www.iphone-­‐developer-­‐conference.de   Das  Problem   •  Chef:  „Wir  brauchen  eine  App“   •  IT:  „Wow,  ja  gerne,  welche  PlaUorm?“   •  Chef:  „Wieso  PlaUorm  –  Mobil!“   •  IT:  „Ja,  aber  WP7,  iOS,  android,  BB?“   •  Chef:  „Na  alle!  Oder  nicht?“   •  IT:  „OK  –  Problem!“  
  4. ipdc_conference                  

       #ipdc12   www.iphone-­‐developer-­‐conference.de   Kurzer  Abriss  der  Geschichte   •  PhoneGap  erstellt  durch  die  Firma  Nitobi   •  Nach  Release  V1.0  kauf  durch  Adobe  (Okt.  ´11)   •  Übertragung  des  IP  an  die  ASF   •  Jetzt  heisst  es  Apache  Cordova  
  5. ipdc_conference                  

       #ipdc12   www.iphone-­‐developer-­‐conference.de   Mind  the  (Phone)Gap     •  Was  macht  Apache  Cordova?     Packager/JS-­‐Bridge!   •  Was  ist  der  Tick?        nacve  WebView     •  www-­‐Verzeichnis  für    HTML5  /  JS  /  CSS3  
  6. ipdc_conference                  

       #ipdc12   www.iphone-­‐developer-­‐conference.de   Cordova 101 für iOS   •  Xcode  +  Commandline-­‐Tools  installieren   •  Cordova  downloaden  /  ios-­‐sim  downloaden   •  Projekt  erstellen   $ ./create /path/to/ipdcCordovaProject de.zhapps.ipdc2012 ipdc2012Project •  Projekt  starten  –  XCode  oder  BOOM!
  7. ipdc_conference                  

       #ipdc12   www.iphone-­‐developer-­‐conference.de   Architektur  
  8. ipdc_conference                  

       #ipdc12   www.iphone-­‐developer-­‐conference.de   L8test  News   •  Version  2.1rc  ist  iOS  6  tauglich   •  Version  2.1  unterstützt  ARC   •  Version  2.1  unterstützt  iPhone  5   •  PhoneGap  Build  ist  aus  der  Beta   ...was  ist  das?  
  9. ipdc_conference                  

       #ipdc12   www.iphone-­‐developer-­‐conference.de   ja, aber Plattform XYZ?... •  Build  von  Projekten  auch  per  Cloud   hlp://build.phonegap.com  
  10. ipdc_conference                  

       #ipdc12   www.iphone-­‐developer-­‐conference.de   Plugins  und  iOS   •  Erweitern  die  Standardumfang  von  PhoneGap   •  Zugriff  auf  Hardware  oder  SDK-­‐Funkconen   •  Müssen  nacv  Entwickelt  werden  (Objeccve-­‐C)   •  Zentrales  Repo  unter:   hlps://github.com/phonegap/phonegap-­‐plugins.git  
  11. ipdc_conference                  

       #ipdc12   www.iphone-­‐developer-­‐conference.de   Eine  Fülle  von  Plugins  für  iOS   •  Über  50!  Projekte  für  iOS  im  GitHub-­‐Repo   •  unter  anderem:   – iCloud   – Applicacon  Preferences   – iPrint   – CalendarView   – PayPal   – SMS  
  12. ipdc_conference                  

       #ipdc12   www.iphone-­‐developer-­‐conference.de   iOS-Plugins vorgestellt   •  Push-­‐Nocficacon     (durch  Urban-­‐Airship)   •  Barcodescanner  (Demo)   (durch  Google´s  Zebra/ZXing)   •  Augmented  Reality   (durch  WikiTude)  
  13. ipdc_conference                  

       #ipdc12   www.iphone-­‐developer-­‐conference.de   Barcode  scannen  1/2   •  Einfaches  Scanner  per  JavaScript-­‐Aufruf   ! window.plugins.barcodeScanner.scan(! function(result) {! if (result.cancelled)! alert("the user cancelled the scan")! else! alert("we got a barcode: " + result.text)! },! function(error) {! alert("scanning failed: " + error)! }! )!
  14. ipdc_conference                  

       #ipdc12   www.iphone-­‐developer-­‐conference.de   Barcode  scannen  2/2   •  Scan  läus  automacsch   •  Formate  werden  erkannt   •  Overlay  kann  geändert  werden   (BarcodeOverlay.xib)   QR_CODE   EAN_8   DATA_MATRIX   EAN_13   UPC_A   CODE_128   UPC_E   CODE_39  
  15. ipdc_conference                  

       #ipdc12   www.iphone-­‐developer-­‐conference.de   Augmented  Reality  by  wikitude   •  Der  Mathe-­‐Wahnsinn   verschwindet!   •  Nutzen  des  offenen   Standards  „ARML“   •  Mehr  unter  wikitude.com  
  16. ipdc_conference                  

       #ipdc12   www.iphone-­‐developer-­‐conference.de   Plugins  selber  bauen   •  Neues  Projekt  erstellen   •  JavaScript-­‐Datei  anlegen  (md5Plugin.js)   •  Objeccve-­‐C  Klasse  erstellen  (mdPlugin.h/.m)   hlp://www.makebelerthings.com/iphone/how-­‐to-­‐get-­‐md5-­‐and-­‐sha1-­‐in-­‐ objeccve-­‐c-­‐ios-­‐sdk/   •  Cordova.plist-­‐Eintrag  im  Bereich  Plugins  
  17. ipdc_conference                  

       #ipdc12   www.iphone-­‐developer-­‐conference.de   Ein  Beispiel:  md5-­‐Plugin   •  iOS-­‐SDK  Zugriff  auf  die  md5-­‐Hash  Funkcon  
  18. ipdc_conference                  

       #ipdc12   www.iphone-­‐developer-­‐conference.de   Mehr  Info   •  Dokumentacon  der  API  unter:   hlp://docs.phonegap.com   •  web  &  mobile  Developer  lesen   •  Das  deutsche  Cordova-­‐Buch,   durch  den  Referenten  J  
  19. ipdc_conference                  

       #ipdc12   www.iphone-­‐developer-­‐conference.de   DANKE!   Marcus  Ross  –  Zahlenhelfer  Consulcng  -­‐  @zahlenhelfer   alle  Foilien  auch  auf  www.speakerdeck.com/u/zahlenhelfer