Apple a introduit les extensions de l'éditeur de source Xcode avec Xcode 8. Xcode 8 prendra-t-il toujours en charge les plugins servis via Alcatraz ?
Xcode 8 interdit l'injection de code (la façon dont les plugins se chargeaient) pour des raisons de sécurité. Vous pouvez contourner cela en supprimant la signature de code sur Xcode. Ces deux outils sont capables de simplifier:
https://github.com/inket/update_xcode_plugins
https://github.com/fpg1503/MakeXcodeGr8Again
Pour travailler sur Xcode 8+ sans supprimer la signature de code, les plugins devront être réécrits en Extensions de l'éditeur de source Xcode . Malheureusement, les API de ces extensions ne permettent pour le moment que le remplacement de texte, elles ne sont donc pas un remplacement adéquat.
J'ai déposé un rapport sur rdar, n'hésitez pas à exprimer également votre avis:
Xcode est un outil principal pour le développement sur toutes les plates-formes Apple. Les gens peuvent l'aimer ou le détester, le fait est que c'est toujours l'outil de développement le plus puissant du marché.
Une grande partie de sa puissance et de son utilité a été obtenue grâce à des plugins tiers, couverts plus tard par le projet Alcatraz, qui est le système de gestion des extensions numéro un pour Xcode, aussi vital et nécessaire que par exemple npm est nécessaire pour Node.js. Tout est basé sur une communauté juste et consciente développant ses extras open-source utiles et les publiant sur GitHub. Ce n'est pas un ghetto injecteur de code ciblant des choses infectantes. C'est une communauté au sein d'une communauté.
Xcode 8 a tendance à abandonner la prise en charge de ces plugins, le plus souvent décrit comme une étape de sécurité en faveur de la prévention de la distribution des contenus injectés. C'est faux; vous ne pouvez tout simplement pas empêcher cela car il y a toujours quelqu'un qui trouve le chemin. Cette étape rend simplement Xcode moins utilisable, plus compliqué et moins riche en fonctionnalités. Il existe de nombreux plugins importants que les développeurs adorent, contribuent et progressent pour améliorer encore Xcode, dites-vous honnêtement, surtout encore mieux que vous ne le pourriez en peu de temps.
La communauté a besoin de choses puissantes. Bien plus puissant que la magie d'édition de source de base. Veuillez reconsidérer cette étape dans un esprit de communauté et de soutien à vos développeurs.
Au cours des dernières années, la fermeture de votre plateforme a évolué. Tout d'abord, fermez les plugins Spotlight et son excellent gestionnaire de plugins Flashlight, ce qui est tout simplement génial et maintenant je dois désactiver Rootless pour l'utiliser. Maintenant, ce sont des plugins Xcode. Vous faites de plus en plus pour rendre tristes les développeurs et les utilisateurs expérimentés et ne pas avoir leur appareil informatique entre les mains.
Il y a une discussion détaillée sur le dépôt Alcatraz, il dit tout: https://github.com/alcatraz/Alcatraz/issues/475
Je joins une liste de super plugins dont je ne peux tout simplement pas passer une journée sans:
AxeMode - Problèmes liés à Xcode pour le rétroéclairage - ligne active surlignant ClangFormat - formateur de code DerivedData Exterminator - besoin quotidien de se débarrasser ou de mauvaises choses coloration, trucs mignons RSImageOptimPlugin - traitement des fichiers PNG avant de valider SCXcodeMinimap - adorez ce SublimeText-thingy! XCFixin_FindFix - correction des fonctionnalités de recherche XcodeRefactoringPlus - correction de la fonctionnalité Refactor, toujours boguée, mais moins que Xcode sans plugin XToDo - collection TODOs ZLGotoSandbox - parce que traiter vos dossiers serait un enfer sans lui
La plupart d'entre eux ne sont pas liés au code source, méritent donc d'avoir un moyen d'être chargés et de fonctionner à nouveau comme un charme.
Il n'y a pas de support et nous ne pouvons pas en attendre. Apple décide de fermer l'écosystème autour du gestionnaire de paquets Alcatraz avant d'avoir une API prête (extensions) capable de faire ce que les plugins faisaient auparavant. Les extensions sont actuellement limitées au texte cadre qui ne permet pas de faire grand chose.
La principale raison annoncée par Apple est la sécurité et nous pouvons maintenant désactiver la signature de code en essayant de récupérer les fonctionnalités les plus importantes qui manquaient dans Xcode. Mauvaise journée pour la communauté, mauvaise décision d'Apple.
Je recommande également la discussion sur Alcatraz ici: https://github.com/alcatraz/Alcatraz/issues/475 Plus important encore si vous souhaitez prendre en charge le fichier Alcatraz, un bogue sur http://bugreport.Apple.com pour leur faire comprendre que de nombreuses personnes souffrent de ce changement
J'ai fait la même chose (openradar.appspot.com/28423208):
Xcode est un outil principal pour le développement sur toutes les plates-formes Apple. Les gens peuvent l'aimer ou le détester, le fait est que c'est toujours l'outil de développement le plus puissant du marché.
Une grande partie de sa puissance et de son utilité a été obtenue grâce à des plugins tiers, couverts plus tard par le projet Alcatraz, qui est le système de gestion des extensions numéro un pour Xcode, aussi vital et nécessaire que par exemple npm est nécessaire pour Node.js. Tout est basé sur une communauté juste et consciente développant ses extras open-source utiles et les publiant sur GitHub. Ce n'est pas un ghetto injecteur de code ciblant des choses infectantes. C'est une communauté au sein d'une communauté.
Xcode 8 a tendance à abandonner la prise en charge de ces plugins, le plus souvent décrit comme une étape de sécurité en faveur de la prévention de la distribution des contenus injectés. C'est faux; vous ne pouvez tout simplement pas empêcher cela car il y a toujours quelqu'un qui trouve le chemin. Cette étape rend simplement Xcode moins utilisable, plus compliqué et moins riche en fonctionnalités. Il existe de nombreux plugins importants que les développeurs adorent, contribuent et progressent pour améliorer encore Xcode, dites-vous honnêtement, surtout encore mieux que vous ne le pourriez en peu de temps.
La communauté a besoin de choses puissantes. Bien plus puissant que la magie d'édition de source de base. Veuillez reconsidérer cette étape dans un esprit de communauté et de soutien à vos développeurs.
Au cours des dernières années, la fermeture de votre plateforme a évolué. Tout d'abord, fermez les plugins Spotlight et son excellent gestionnaire de plugins Flashlight, ce qui est tout simplement génial et maintenant je dois désactiver Rootless pour l'utiliser. Maintenant, ce sont des plugins Xcode. Vous faites de plus en plus pour rendre tristes les développeurs et les utilisateurs expérimentés et ne pas avoir leur appareil informatique entre les mains.
Il y a une discussion détaillée sur le dépôt Alcatraz, il dit tout: github.com/alcatraz/Alcatraz/issues/475
Je joins une liste de super plugins dont je ne peux tout simplement pas passer une journée sans: AutoHighlightSymbol - Ajouter des surbrillances au jeton actuellement sélectionné ClangFormat - formateur de code DerivedData Exterminator - besoin quotidien de se débarrasser ou de mauvaises choses FuzzyAutocomplete - le nom dit tout, toujours plus puissant que l'achèvement de Xcode KZLinkedConsole - être en mesure de cliquer sur un lien dans la console pour ouvrir le fichier pertinent et être plus rapide pour déboguer PreciseCoverage - plus agréable que gui que xcode fournit pour afficher la couverture XcodeColors - affiche les couleurs dans la console en fonction du niveau de journal ( sinon comment utiliser une console?)
La plupart d'entre eux ne sont pas liés au code source, méritent donc d'avoir un moyen d'être chargés et de fonctionner à nouveau comme un charme.
Si vous ne faites pas un pas rapide pour soutenir votre communauté, je suis sûr que nous trouverons une autre plate-forme avec laquelle travailler.
Vous pouvez certainement charger tous vos plugins en recodant la signature Xcode 8.0. Tous les crédits à l'équipe XVim. Ils semblaient résoudre ce problème. https://github.com/XVimProject/XVim/blob/master/INSTALL_Xcode8.mdL'étape la plus importante de la solution
Il semble que cela devrait fonctionner. J'ai trouvé quelques réponses ici: https://github.com/alcatraz/Alcatraz/issues/475 La clé semble être de supprimer la signature de code afin de faire fonctionner les plugins existants.
Apparemment non :'(
https://github.com/alcatraz/Alcatraz/issues/475
Nous devons attendre que quelqu'un convertisse les plugins dans les nouvelles extensions Xcode