SlideShare une entreprise Scribd logo
1  sur  33
Télécharger pour lire hors ligne
XCODE PLUGINS
DÉCOUVREZ LE TOP 10 & COMMENT FAIRE LES SIENS
I HAVE A
DREAM…
Autocompletion des… Couleurs !
Autocompletion des… Images !
Autocompletion des… Localized Strings !
Autocompletion des… Timing Functions !
Autogénération des… Documentation Comments !
Autogénération des… Switch Case !
Autocompletion des… Fonctions !
Syntax Semantic Highlighting
Syntax Semantic Highlighting
Graphe UML
Graphe UML
XVIM : VIM© dans Xcode
(pour les vrais de vrais)
Et plein d'autres…
CoPilot:
collaborativeEditing
Open in
GitHub
"Ask StackOverflow"
for any warning/error
Intégration native :
- CocoaPods
- CocoaControls
- JIRA
- Trello
- StackOverflow
- GitHub
RTImageAsset
Génère automatiquement les @1x et @2x
Open
JIRA Issue
MON TOP 10
Autocompletion
* Couleur: 	 OMColorSense
* Images: 	 KSImageNamed
* Loc Strings: 	 Lin
* CoreAnimation: CATweakerSense
Text
* Doc: 		 VVDocumenter
* Switch: 	 SCXcodeSwitchExpander
* Function Body: BodyBuilder
* Semantic Highlighting : PolyChromatic
* UML : KSHObjcUML / ObjectGraph-Xcode
* Images Generation / Optimisation : RSImageOptimPlugin RTImageAsset
STEP 1 Aller sur alcatraz.io
STEP 2 Lancer Xcode !
STEP 3 Faites votre marché !
ALCATRAZ
Gestionnaire de Plugins pour Xcode
Lui même un (méta) plugin
Open-Source
Déjà plus de 343 packages :
- Plugins
- Templates Fichiers / Projets
- Thèmes
Tout en un endroit
CRÉER SON PROPRE PLUGIN
POUR LE TAF, POUR LE FUN, POUR LA FRANCE
MY
LITTLE
PLUGIN
DISCLAIMER
THIS IS ALL PUBLIC INFORMATION
XCODE PLUGIN ARCHITECTURE
Xcode 4 : Plugin Architecture
Xcode 7.2 : 58 plugins
Emplacement:
- Apple: Xcode.app/Content/PlugIns
- Custom: ~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/
Bundle avec extension .xcplugin ou .ideplugin
XML-based : .xcplugindata (= Info.plist)
CE QU'ON PEUT ÉTENDRE
ActivityReporter
InspectorNavigator
Debugger
Inspector Slice
Editor Editor Library
IssueProvider
PLUGIN, EXTENSION , EXTENSION POINT
EXTENSION
- C'est le 'plugin'. Etends un extension-point
- Ex: com.xcode.compiler.llvm
EXTENSION POINT
- Décrit un partie de code que l'on peut étendre
- Ex: com.xcode.compilers
PLUGIN
- Unité de packaging (NSBundle avec xcplugindata, code , images)
- Peut contenir 1 ou plusieurs extensions
- Peut lui-même déclarer de nouveaux extension-points
- Déclaré dans le fichier xcplugindata
- Ex: Web.xcplugin : Extensions pour debugger, highlighter, completion, Inspector…
Pour les Navigators:
1 extension point :
Xcode.IDEKit.Navigator
7 extensions :
Xcode.IDEKit.Navigator.Structure
Xcode.IDEKit.Navigator.Symbols
Xcode.IDEKit.Navigator.BatchFind
Xcode.IDEKit.Navigator.Issues
Xcode.IDEKit.Navigator.Debugs
Xcode.IDEKit.Navigator.Logs
Xcode.IDEKit.Navigator.Test
IDEKit.xcplugindata :
- 77 extension points
- 1097 extensions
CRÉATION DU PLUGIN
-
TÉLÉCHARGER LE TEMPLATE (VIA ALCATRAZ !)1
NOUVEAU PROJET > NOUVEAU PLUGIN XCODE2
TÉLÉCHARGER LES HEADERS XCODE
Thank you, class-dump !
https://github.com/kaphacius/Xcode7-RuntimeHeaders
3
SURPRENEZ-NOUS !4
🎉 👏
QUESTIONS ?
MY
LITTLE
PLUGIN

Contenu connexe

Tendances

Introduction to WebRTC on iOS
Introduction to WebRTC on iOSIntroduction to WebRTC on iOS
Introduction to WebRTC on iOSCocoaHeads France
 
Fastlane snapshot presentation
Fastlane snapshot presentationFastlane snapshot presentation
Fastlane snapshot presentationCocoaHeads France
 
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
 
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 MeuelCocoaHeads France
 
Xcode Server - Jeffrey Macko
Xcode Server - Jeffrey MackoXcode Server - Jeffrey Macko
Xcode Server - Jeffrey MackoCocoaHeads France
 
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 JenkinsCocoaHeads France
 
Gatekeeper par Guillaume Faure
Gatekeeper par Guillaume FaureGatekeeper par Guillaume Faure
Gatekeeper par Guillaume FaureCocoaHeads France
 
5 android web_service
5 android web_service5 android web_service
5 android web_serviceSaber LAJILI
 
Introduction TypeScript
Introduction TypeScriptIntroduction TypeScript
Introduction TypeScriptfelixbillon
 
Future of java script web version
Future of java script web versionFuture of java script web version
Future of java script web versionSébastien Pertus
 
Formation Symfony2 par KNP Labs
Formation Symfony2 par KNP LabsFormation Symfony2 par KNP Labs
Formation Symfony2 par KNP LabsKNP Labs
 
Orchestrez vos projets Symfony sans fausses notes
Orchestrez vos projets Symfony sans fausses notesOrchestrez vos projets Symfony sans fausses notes
Orchestrez vos projets Symfony sans fausses notesXavier Gorse
 
Introduction à Symfony2
Introduction à Symfony2Introduction à Symfony2
Introduction à Symfony2Hugo Hamon
 
Symfony2: 30 astuces et bonnes pratiques
Symfony2: 30 astuces et bonnes pratiquesSymfony2: 30 astuces et bonnes pratiques
Symfony2: 30 astuces et bonnes pratiquesNoel GUILBERT
 
Cocoaheads Montpellier Meetup : La programmation réactive sur iOS avec Réacti...
Cocoaheads Montpellier Meetup : La programmation réactive sur iOS avec Réacti...Cocoaheads Montpellier Meetup : La programmation réactive sur iOS avec Réacti...
Cocoaheads Montpellier Meetup : La programmation réactive sur iOS avec Réacti...Idean France
 
Sirikit par Julien Coudsi
Sirikit par Julien CoudsiSirikit par Julien Coudsi
Sirikit par Julien CoudsiIdean France
 
20111006 bonnes pratiques-gi_g_v1
20111006 bonnes pratiques-gi_g_v120111006 bonnes pratiques-gi_g_v1
20111006 bonnes pratiques-gi_g_v1Gilles Guirand
 
Utiliser le Zend Framework avec Symfony
Utiliser le Zend Framework avec SymfonyUtiliser le Zend Framework avec Symfony
Utiliser le Zend Framework avec SymfonyXavier Gorse
 
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 toolCocoaHeads France
 

Tendances (20)

Introduction to WebRTC on iOS
Introduction to WebRTC on iOSIntroduction to WebRTC on iOS
Introduction to WebRTC on iOS
 
Fastlane snapshot presentation
Fastlane snapshot presentationFastlane snapshot presentation
Fastlane snapshot presentation
 
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)
 
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
 
Xcode Server - Jeffrey Macko
Xcode Server - Jeffrey MackoXcode Server - Jeffrey Macko
Xcode Server - Jeffrey Macko
 
Nouveauté iOS 6
Nouveauté iOS 6Nouveauté iOS 6
Nouveauté iOS 6
 
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
 
Gatekeeper par Guillaume Faure
Gatekeeper par Guillaume FaureGatekeeper par Guillaume Faure
Gatekeeper par Guillaume Faure
 
5 android web_service
5 android web_service5 android web_service
5 android web_service
 
Introduction TypeScript
Introduction TypeScriptIntroduction TypeScript
Introduction TypeScript
 
Future of java script web version
Future of java script web versionFuture of java script web version
Future of java script web version
 
Formation Symfony2 par KNP Labs
Formation Symfony2 par KNP LabsFormation Symfony2 par KNP Labs
Formation Symfony2 par KNP Labs
 
Orchestrez vos projets Symfony sans fausses notes
Orchestrez vos projets Symfony sans fausses notesOrchestrez vos projets Symfony sans fausses notes
Orchestrez vos projets Symfony sans fausses notes
 
Introduction à Symfony2
Introduction à Symfony2Introduction à Symfony2
Introduction à Symfony2
 
Symfony2: 30 astuces et bonnes pratiques
Symfony2: 30 astuces et bonnes pratiquesSymfony2: 30 astuces et bonnes pratiques
Symfony2: 30 astuces et bonnes pratiques
 
Cocoaheads Montpellier Meetup : La programmation réactive sur iOS avec Réacti...
Cocoaheads Montpellier Meetup : La programmation réactive sur iOS avec Réacti...Cocoaheads Montpellier Meetup : La programmation réactive sur iOS avec Réacti...
Cocoaheads Montpellier Meetup : La programmation réactive sur iOS avec Réacti...
 
Sirikit par Julien Coudsi
Sirikit par Julien CoudsiSirikit par Julien Coudsi
Sirikit par Julien Coudsi
 
20111006 bonnes pratiques-gi_g_v1
20111006 bonnes pratiques-gi_g_v120111006 bonnes pratiques-gi_g_v1
20111006 bonnes pratiques-gi_g_v1
 
Utiliser le Zend Framework avec Symfony
Utiliser le Zend Framework avec SymfonyUtiliser le Zend Framework avec Symfony
Utiliser le Zend Framework avec Symfony
 
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
 

En vedette

MultiPeer Connectivity Framework
MultiPeer Connectivity Framework MultiPeer Connectivity Framework
MultiPeer Connectivity Framework CocoaHeads France
 
BlaBlaCar et la mise en place d'une fonctionnalité FlagFeature
BlaBlaCar et la mise en place d'une fonctionnalité FlagFeatureBlaBlaCar et la mise en place d'une fonctionnalité FlagFeature
BlaBlaCar et la mise en place d'une fonctionnalité FlagFeatureCocoaHeads France
 
Swift Sequences & Collections
Swift Sequences & CollectionsSwift Sequences & Collections
Swift Sequences & CollectionsCocoaHeads France
 
Export import procedures
Export import proceduresExport import procedures
Export import proceduresIsha Joshi
 
Genius scan - Du boostrap à 20 millions d’utilisateurs, techniques et outils ...
Genius scan - Du boostrap à 20 millions d’utilisateurs, techniques et outils ...Genius scan - Du boostrap à 20 millions d’utilisateurs, techniques et outils ...
Genius scan - Du boostrap à 20 millions d’utilisateurs, techniques et outils ...CocoaHeads France
 
OSX Complex Application Challenge Architecture
OSX Complex Application Challenge ArchitectureOSX Complex Application Challenge Architecture
OSX Complex Application Challenge ArchitectureCocoaHeads France
 
CocoaPods for private libraries
CocoaPods for private librariesCocoaPods for private libraries
CocoaPods for private librariesCocoaHeads France
 
Import & export presentation
Import & export presentationImport & export presentation
Import & export presentationEric Lee
 

En vedette (18)

Découverte de HomeKit
Découverte de HomeKitDécouverte de HomeKit
Découverte de HomeKit
 
MultiPeer Connectivity Framework
MultiPeer Connectivity Framework MultiPeer Connectivity Framework
MultiPeer Connectivity Framework
 
Apple Search Optimization
Apple Search OptimizationApple Search Optimization
Apple Search Optimization
 
App-resizer Library
App-resizer LibraryApp-resizer Library
App-resizer Library
 
BlaBlaCar et la mise en place d'une fonctionnalité FlagFeature
BlaBlaCar et la mise en place d'une fonctionnalité FlagFeatureBlaBlaCar et la mise en place d'une fonctionnalité FlagFeature
BlaBlaCar et la mise en place d'une fonctionnalité FlagFeature
 
Swift open source
Swift open sourceSwift open source
Swift open source
 
Mastering Interface Builder
Mastering Interface BuilderMastering Interface Builder
Mastering Interface Builder
 
POI clusturing
POI clusturingPOI clusturing
POI clusturing
 
Conférence DotSwift 2016
Conférence DotSwift 2016Conférence DotSwift 2016
Conférence DotSwift 2016
 
Swift Sequences & Collections
Swift Sequences & CollectionsSwift Sequences & Collections
Swift Sequences & Collections
 
Export import procedures
Export import proceduresExport import procedures
Export import procedures
 
Genius scan - Du boostrap à 20 millions d’utilisateurs, techniques et outils ...
Genius scan - Du boostrap à 20 millions d’utilisateurs, techniques et outils ...Genius scan - Du boostrap à 20 millions d’utilisateurs, techniques et outils ...
Genius scan - Du boostrap à 20 millions d’utilisateurs, techniques et outils ...
 
OSX Complex Application Challenge Architecture
OSX Complex Application Challenge ArchitectureOSX Complex Application Challenge Architecture
OSX Complex Application Challenge Architecture
 
CocoaPods for private libraries
CocoaPods for private librariesCocoaPods for private libraries
CocoaPods for private libraries
 
Silent push
Silent pushSilent push
Silent push
 
Zenly - Reverse geocoding
Zenly - Reverse geocodingZenly - Reverse geocoding
Zenly - Reverse geocoding
 
OHHttpStubs
OHHttpStubsOHHttpStubs
OHHttpStubs
 
Import & export presentation
Import & export presentationImport & export presentation
Import & export presentation
 

Similaire à Plugins Xcode

Devoxx 2017 : toutes les actualités technologiques à surveiller !
Devoxx 2017 : toutes les actualités technologiques à surveiller !Devoxx 2017 : toutes les actualités technologiques à surveiller !
Devoxx 2017 : toutes les actualités technologiques à surveiller !Société ELOSI
 
Solutions Linux 2008 - JavaScript
Solutions Linux 2008 - JavaScriptSolutions Linux 2008 - JavaScript
Solutions Linux 2008 - JavaScriptRaphaël Semeteys
 
Spring Boot & Containers - Do's & Don'ts
Spring Boot & Containers - Do's & Don'tsSpring Boot & Containers - Do's & Don'ts
Spring Boot & Containers - Do's & Don'tsJulien Wittouck
 
retour sur confoo2011 et Symfony2
retour sur confoo2011 et Symfony2retour sur confoo2011 et Symfony2
retour sur confoo2011 et Symfony2Saad Tazi
 
Big Data Viz (and much more!) with Apache Zeppelin
Big Data Viz (and much more!) with Apache ZeppelinBig Data Viz (and much more!) with Apache Zeppelin
Big Data Viz (and much more!) with Apache ZeppelinBruno Bonnin
 
.NET Microframework, les joies de l'électronique et du code pour tous
.NET Microframework, les joies de l'électronique et du code pour tous.NET Microframework, les joies de l'électronique et du code pour tous
.NET Microframework, les joies de l'électronique et du code pour tousMicrosoft
 
Gestion des dépendances dans un projet PHP - Forum PHP 2012
Gestion des dépendances dans un projet PHP - Forum PHP 2012Gestion des dépendances dans un projet PHP - Forum PHP 2012
Gestion des dépendances dans un projet PHP - Forum PHP 2012Jean-Marc Fontaine
 
Retour d'expérience technique Go, gRPC, Kubernetes
Retour d'expérience technique Go, gRPC, KubernetesRetour d'expérience technique Go, gRPC, Kubernetes
Retour d'expérience technique Go, gRPC, KubernetesVincent Composieux
 
optimadata.nl-Comment exécuter Postgres sur Docker partie 1.pdf
optimadata.nl-Comment exécuter Postgres sur Docker partie 1.pdfoptimadata.nl-Comment exécuter Postgres sur Docker partie 1.pdf
optimadata.nl-Comment exécuter Postgres sur Docker partie 1.pdfPascal Ponzoni
 
Ops@viadeo : Puppet & Co... 6 mois après par Xavier Krantz
Ops@viadeo : Puppet & Co... 6 mois après par Xavier KrantzOps@viadeo : Puppet & Co... 6 mois après par Xavier Krantz
Ops@viadeo : Puppet & Co... 6 mois après par Xavier KrantzOlivier DASINI
 
Annotations pour les Geeks
Annotations pour les GeeksAnnotations pour les Geeks
Annotations pour les Geeksjviet
 
Développer une application android en 2015
Développer une application android  en 2015Développer une application android  en 2015
Développer une application android en 2015Florent Champigny
 

Similaire à Plugins Xcode (20)

openFrameworks
openFrameworksopenFrameworks
openFrameworks
 
Compte rendu Blend Web Mix 2015
Compte rendu Blend Web Mix 2015Compte rendu Blend Web Mix 2015
Compte rendu Blend Web Mix 2015
 
Devoxx 2017 : toutes les actualités technologiques à surveiller !
Devoxx 2017 : toutes les actualités technologiques à surveiller !Devoxx 2017 : toutes les actualités technologiques à surveiller !
Devoxx 2017 : toutes les actualités technologiques à surveiller !
 
Solutions Linux 2008 - JavaScript
Solutions Linux 2008 - JavaScriptSolutions Linux 2008 - JavaScript
Solutions Linux 2008 - JavaScript
 
Apple : iOS
Apple : iOSApple : iOS
Apple : iOS
 
Spring Boot & Containers - Do's & Don'ts
Spring Boot & Containers - Do's & Don'tsSpring Boot & Containers - Do's & Don'ts
Spring Boot & Containers - Do's & Don'ts
 
retour sur confoo2011 et Symfony2
retour sur confoo2011 et Symfony2retour sur confoo2011 et Symfony2
retour sur confoo2011 et Symfony2
 
Big Data Viz (and much more!) with Apache Zeppelin
Big Data Viz (and much more!) with Apache ZeppelinBig Data Viz (and much more!) with Apache Zeppelin
Big Data Viz (and much more!) with Apache Zeppelin
 
.NET Microframework, les joies de l'électronique et du code pour tous
.NET Microframework, les joies de l'électronique et du code pour tous.NET Microframework, les joies de l'électronique et du code pour tous
.NET Microframework, les joies de l'électronique et du code pour tous
 
Cours cordova & REST
Cours cordova & RESTCours cordova & REST
Cours cordova & REST
 
Gestion des dépendances dans un projet PHP - Forum PHP 2012
Gestion des dépendances dans un projet PHP - Forum PHP 2012Gestion des dépendances dans un projet PHP - Forum PHP 2012
Gestion des dépendances dans un projet PHP - Forum PHP 2012
 
Tp1 - Eclipse
Tp1 - EclipseTp1 - Eclipse
Tp1 - Eclipse
 
Retour d'expérience technique Go, gRPC, Kubernetes
Retour d'expérience technique Go, gRPC, KubernetesRetour d'expérience technique Go, gRPC, Kubernetes
Retour d'expérience technique Go, gRPC, Kubernetes
 
optimadata.nl-Comment exécuter Postgres sur Docker partie 1.pdf
optimadata.nl-Comment exécuter Postgres sur Docker partie 1.pdfoptimadata.nl-Comment exécuter Postgres sur Docker partie 1.pdf
optimadata.nl-Comment exécuter Postgres sur Docker partie 1.pdf
 
Apache Cordova 3.3 de zéro
Apache Cordova 3.3 de zéroApache Cordova 3.3 de zéro
Apache Cordova 3.3 de zéro
 
sfPot aop
sfPot aopsfPot aop
sfPot aop
 
Cours Ynov JS B1_1
Cours Ynov JS B1_1Cours Ynov JS B1_1
Cours Ynov JS B1_1
 
Ops@viadeo : Puppet & Co... 6 mois après par Xavier Krantz
Ops@viadeo : Puppet & Co... 6 mois après par Xavier KrantzOps@viadeo : Puppet & Co... 6 mois après par Xavier Krantz
Ops@viadeo : Puppet & Co... 6 mois après par Xavier Krantz
 
Annotations pour les Geeks
Annotations pour les GeeksAnnotations pour les Geeks
Annotations pour les Geeks
 
Développer une application android en 2015
Développer une application android  en 2015Développer une application android  en 2015
Développer une application android en 2015
 

Plus de CocoaHeads France

Plus 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
 

Plugins Xcode