Vimari: Statut d'obtention de l'extension disponible sur le magasin d'extensions Safari

Créé le 11 juil. 2018  ·  37Commentaires  ·  Source: televator-apps/vimari

Je viens de m'inscrire au programme pour développeurs Apple et j'examinerai les changements à apporter au code avant de l'envoyer pour examen.

Je vous tiendrai au courant de ce numéro !


MIS À JOUR
Lisez le numéro complet pour le contexte.

À FAIRE

  • [ ] Paramètres
  • [ ] Permet d'ouvrir plusieurs liens dans de nouveaux onglets
  • [ ] Découvrez comment distribuer l'extension
  • [ ] Quel site web ouvrir sur un nouvel onglet ? La chaîne vide ne fonctionne pas, nous avons donc besoin d'autre chose, idéalement l'équivalent de about:config dans d'autres navigateurs

Commentaire le plus utile

Salut tout le monde,

Comme je l'ai mentionné plus tôt dans ce numéro, j'ai été confronté à des problèmes personnels ces derniers mois, mais les choses vont beaucoup mieux maintenant ! Grâce à l'amélioration de ma qualité de vie, je suis beaucoup plus occupé par des activités loin de l'ordinateur, donc je n'ai pas autant de temps et d'énergie à consacrer à l'open source. J'espère trouver l'étincelle de motivation pour sortir les paramètres et publier bientôt l'extension sur l'App Store.

J'espère que tous ceux qui ont fait un don n'ont pas l'impression d'avoir été trompés de quelque façon que ce soit. Merci à tous d'être patients et compréhensifs ️

Tous les 37 commentaires

Lisez les documents d'Apple et ils sont géniaux. Il semble que le code doive être encapsulé dans une application macOS, mais il ne dit pas de quel type. Je serai occupé pendant quelques jours maintenant, mais j'essaierai d'intégrer une partie de ce travail.

Si quelqu'un a de l'expérience dans ce domaine ou souhaite m'aider, n'hésitez pas à me le faire savoir.

Ça fait un moment que je déconne avec ça, et mec... les docs me tuent. Je suis curieux de savoir comment ils s'attendent à ce que tout le monde migre ses extensions Safari vers les extensions d'application Safari avec cette mauvaise documentation qui n'a pas d'exemples. Cela va prendre beaucoup de temps avant que toutes les extensions soient migrées :/

Quoi qu'il en soit, j'ai quelque chose de opérationnel maintenant, je peux utiliser l'extension, un peu, mais j'ai besoin de comprendre les différentes étapes de chargement de l'extension avant de continuer. De plus, je n'ai trouvé aucun support pour avoir des paramètres pour l'extension qui seraient nuls si cela était vrai.

De plus, je pense que nous pouvons nous en sortir sans avoir l'extension sur l'App Store, mais je ne suis pas encore sûr. J'ai lu sur certains forums à ce sujet mais je n'ai pas enquêté de plus près. Cela signifierait que nous avons des versions instantanées, mais avec l'inconvénient que vous devez venir ici sur Github pour le télécharger - au lieu d'ouvrir l'App Store. J'étudierai cela plus loin.

J'ai maintenant une version fonctionnant avec Safari 12. C'est une solution très bidon mais elle fonctionne. Cependant, les paramètres ne peuvent pas être modifiés à moins que vous ne les modifiiez dans le code.

Suivez les progrès dans mon PR #104.

J'ai fusionné le PR avec l'extension d'application. J'ai fourni des instructions sur la façon de l'installer. S'il vous plaît, tous ceux qui ont mis à niveau vers macOS Mojave, suivez les étapes et faites-nous savoir si quelque chose ne fonctionne pas pour vous. Je vais continuer à travailler sur le code pour le rendre plus agréable, mais pour l'instant vous aurez les fonctionnalités de base de l'extension.

Envoyer un ping à tous ceux qui ont été impliqués dans ce projet jusqu'à présent afin que nous puissions obtenir des commentaires à ce sujet :
@jad @jaredmichaelwilliams @olivierlefloch @afarrell @weirdfishes @LiYunyang @pcejrowski @lamons @hcgatewood @LeonardCohen @ovisan @jezkline @danielcompton @guyht

Voici les instructions .

Merci.

Je suis sur Mojave (18A326h). Pendant que je construis les projets, il y a une erreur:

erreur : La tâche a échoué avec le signal de sortie 1 0 {
/usr/bin/codesign '--force' '--sign' '0CA31562965A44B984D08063E858CC715E0B0B34' '--verbose' '/Users/liyunyang/Library/DerivedData/Xcode/DerivedData/vimari-gcityecrkzdbugthhu/Product app/Contents/Frameworks/libswiftAppKit.dylib'
}

@LiYunyang Avez-vous essayé l'une de ces deux solutions ?

Après avoir passé un peu plus de temps là-dessus, je ne suis pas sûr que nous puissions migrer toutes les fonctionnalités, même pas celles de base :(. L'API est tellement limitée à moins que vous ne travailliez avec un popover ou une barre d'outils. Je ne ' Je ne comprends pas pourquoi et je fais de mon mieux pour trouver des informations, mais comme c'est si nouveau + la terrible documentation d'Apple, il n'y en a pas. Comme ouvrir un nouvel onglet est trivial à partir d'un clic popover/barre d'outils mais impossible autrement. Apple va tuer la plupart des les extensions actuelles avec cette approche.Je vais continuer d'essayer mais je ne peux rien promettre.

Merci @simeg. Je l'ai construit avec succès avec mon propre certificat de développeur et il fonctionne avec Safari 12 sur macOS 10.13.6 High Sierra.,

@akrabat, je suis content que cela fonctionne pour vous. Avez-vous été obligé d'utiliser votre propre certificat de développeur pour le faire fonctionner ?

Oui. Il y avait une erreur sur la construction liée aux certificats, j'ai donc sélectionné le mien dans la liste déroulante.

Après avoir pris une pause de quelques jours et obtenu de l'aide, j'ai réussi à trouver des informations qui, je pense, nous permettront de migrer plus de fonctionnalités que ce à quoi je m'attendais initialement ! Alors qu'est-ce qu'il y a sur mon radar maintenant :

  • Migration de toutes les fonctionnalités
  • Assurez-vous qu'il est possible d'installer l'extension sans avoir de certificat de développeur. Si vous avez essayé et échoué, il serait utile que vous puissiez poster le(s) message(s) d'erreur ici, car pour le moment je ne sais pas comment résoudre ce problème

[rant] [Je ne suis pas le seul développeur frustré] (https://forums.developer.apple.com/thread/62410), il semble que. J'ai fait ce que l'employé d'Apple m'a recommandé, j'ai déposé un rapport de bogue où j'ai demandé une API avec plus de fonctionnalités. J'attends avec impatience, mais je ne sais pas quoi faire d'autre. Espérons qu'Apple se rendra compte qu'ils tuent l'écosystème d'extension pour Safari et qu'ils modifient l'API et rédigent une meilleure documentation. [/coup de gueule]

Voici les fonctionnalités spécifiées dans le fichier README :

f Basculer les liens
F Basculer les liens (ouvrir le lien dans un nouvel onglet)
k Faites défiler vers le haut
j Faites défiler vers le bas
h Défilement vers la gauche
l Faites défiler vers la droite
u Faites défiler la demi-page vers le haut
d Faites défiler la demi-page vers le bas
gg Aller en haut de la page
G Aller au bas de la page

H Historique retour
L Histoire en avant
r Recharger
w Onglet suivant
q Onglet précédent
x Fermez l'onglet actuel et allez à l'onglet de gauche
X Fermer l'onglet actuel et aller à l'onglet de droite
t Ouvrir un nouvel onglet (celui-ci ne semble même pas fonctionner dans la version 1.12)

Les lignes barrées ne fonctionneront pas dans les extensions d'application Safari avec l'API actuelle, ce qui est nul. J'ai aussi besoin de comprendre comment gérer les paramètres. Je suis presque sûr que cela peut être fait, mais cela peut prendre un certain temps. Cependant, maintenant que ce travail est terminé, je peux me concentrer sur la mise à disposition de vimari pour tout le monde, à la fois par téléchargement et également à l'avenir dans l'App Extension Store.

Je suis désolé que beaucoup d'entre vous aient fait un don pour obtenir 100% des fonctionnalités disponibles dans Safari 12, mais je ne peux rien faire pour changer l'API :( J'espère que vous comprenez, et je suis toujours déterminé à améliorer cette extension.

FWiW, ceux disponibles sont les clés pour moi. Bien que je ne puisse pas faire fonctionner F et que je devais le remapper sur t .

@akrabat Tout n'est pas encore fusionné dans le maître, donc c'est prévu.

Merci @simeg ! Il fonctionne sur ma machine Mojave. (Étonnamment, je n'ai apporté aucune modification à mes paramètres précédents, cela fonctionne tout seul.)

@LiYunyang, je suis heureux d'apprendre que cela fonctionne pour vous ! Avez-vous dû le signer avec votre compte développeur ? De plus, j'ai ouvert un PR avec quelques fonctionnalités supplémentaires que je n'ai pas encore fusionnées dans le master, donc si vous revenez dans quelques jours, vous obtiendrez plus de fonctionnalités. Comme ouvrir le lien dans un nouvel onglet ( shift + t ) ou ouvrir un nouvel onglet vide ( t ). Il y a quelques problèmes mineurs liés à eux mais j'y travaille.

@simeg Je

Je viens de fusionner ma branche sur laquelle je travaille dans master, ce qui activera deux nouvelles fonctionnalités : ouvrir le lien dans un nouvel onglet ( shift + t ) et ouvrir un nouvel onglet vide ( t ). Il a une barre d'outils qui ne fait rien pour le moment, j'essaie de comprendre comment faire les réglages, alors ignorez-la pour le moment.

Il semble donc qu'il faille modifier le compte de signature dans Xcode pour compiler - se connecter avec votre compte Apple dans xcode et l'utiliser semble fonctionner correctement.
Quand il s'agit de changer ou de fermer des onglets : @simeg a raison - il n'y a pas de support pour cela dans l'API pour le moment et à moins qu'Apple ne l'ajoute, je ne pense pas qu'il y ait quoi que ce soit à faire. Apple autorise les extensions d'application à accéder à l'onglet actif, mais ne permet pas de le fermer. Ils n'autorisent pas non plus l'accès à tous les onglets ouverts. L'API est littéralement inutile et je ne sais pas pourquoi Apple aurait décidé de faire quelque chose comme ça. Avec cette API, vous pouvez ouvrir un onglet, aller sur l'url, superposer la page active avec de nouveaux éléments graphiques, mais c'est tout

@Rahlir Ouais, j'ai encore quelques problèmes mineurs comme ça à résoudre. Vous ne savez pas comment le faire. Je le publierai bientôt dans l'extension officielle de l'application et j'espère que cela résoudra ce genre de problèmes. Je ne comprends pas non plus pourquoi Apple ferait quelque chose comme ça. Je pense que cela réduira sérieusement l'utilisation de Safari.

Ce que j'essaie de comprendre en ce moment, ce sont les paramètres. Je ne trouve aucune information sur la méthode recommandée, alors j'essaie de voir ce que les autres ont fait en regardant leur code, mais je progresse lentement. Vous tiendra au courant.

Ce que j'essaie de comprendre en ce moment, ce sont les paramètres. Je ne trouve aucune information sur la méthode recommandée, alors j'essaie de voir ce que les autres ont fait en regardant leur code, mais je progresse lentement. Vous tiendra au courant.

Si vous parlez de stocker les paramètres dans votre code Swift natif, la méthode recommandée serait UserDefaults .

https://www.hackingwithswift.com/read/12/2/reading-and-writing-basics-userdefaults

Évidemment, vous devrez avoir votre logique de sauvegarde/chargement dans Swift, puis la transmettre à votre JS avec un événement. (quelque chose comme "getSettings" "saveSettings" probablement)

C'est absolument fou la quantité de fonctionnalités qu'ils ont supprimées des extensions. S'ils veulent réellement de bonnes extensions, ils devront implémenter la norme WebExtensions, sinon presque personne ne convertira/supportera leurs extensions pour Safari.

Si vous avez des questions sur les extensions d'applications Safari pour lesquelles vous ne trouvez pas de documentation, n'hésitez pas à me contacter, je suis au cœur de ces extensions depuis environ 6 mois, je déteste maintenant Apple à chaque seconde.


Une note sur la fonctionnalité d'onglet manquante, vous pouvez utiliser un moyen super hack pour interagir avec les onglets :

Script Apple.

Dans votre code Swift, vous pouvez exécuter un script AppleScript qui interagira avec les onglets pour vous. Un exemple de script qui peut changer l'onglet courant :

tell front window of application "Safari"
    set current tab to tab ((get index of current tab) + 1)
end tell

tell front window of application "Safari"
        close current tab
end tell

Le premier tell ouvrira/activera l'onglet à droite de l'onglet actuel. Le deuxième tell fermera l'onglet actuellement ouvert. Vous pouvez donc créer des fonctions AppleScript pour "onglet suivant/précédent" et "fermer courant aller à gauche/droite". Vous aurez juste à comprendre comment écrire l'AppleScript pour faire ce que vous voulez.

Le problème, c'est que je suis presque sûr que l'appel de scripts AppleScript brisera le bac à sable de l'application, ce qui signifie que vous ne pourrez pas le soumettre à l'App Extension Store. Vous seriez donc obligé de le distribuer vous-même. (encore faut-il signer)

Pour être juste, je n'ai pas réellement testé cette méthode d'onglet, mais dans le passé, j'ai testé l'exécution d'AppleScript à partir d'une extension Swift Safari et de l'utiliser pour faire des choses dans Safari. Mais je n'ai encore rien publié en l'utilisant.

ÉDITER:

J'ai un peu commencé à douter de moi-même, alors je suis allé de l'avant et j'ai fait une preuve de concept en utilisant la version actuelle de ce référentiel : https://streamable.com/kions

Cela utilise mon AppleScript ci-dessus pour changer les onglets. Le code utilise NSAppleScript et le bac à sable de l'application n'a pas besoin d'être désactivé.

Mais vous devez ajouter un « droit d'exception temporaire » à votre fichier de droits.

<key>com.apple.security.temporary-exception.apple-events</key>
<string>com.apple.Safari</string>

Documentation : https://developer.apple.com/library/archive/documentation/Miscellaneous/Reference/EntitlementKeyReference/Chapters/AppSandboxTemporaryExceptionEntitlements.html#//apple_ref/doc/uid/TP40011195 -CH5-SW3

Je ne sais pas comment cela affecte l'approbation pour l'App Extension Store.

Il semble que si vous avez une raison valable et qu'Apple accepte qu'elle soit approuvée : https://stackoverflow.com/a/13903333/7768060

@jdf221 Wow, vous ne savez pas à quel point j'apprécie d'avoir quelqu'un à qui poser des questions - j'apprécie vraiment cela. J'aurais aimé avoir l'énergie de travailler davantage sur ce sujet en ce moment. Je fais face à des choses difficiles dans ma vie personnelle en ce moment, mais j'espère trouver une motivation pour revenir sur ce projet. J'apprécie la patience de chacun.

Je voulais juste entrer et dire que ce serait incroyable si c'était sur l'App Store.

J'ai juste passé beaucoup de temps à essayer de le faire compiler avant de réussir grâce à ça : https://stackoverflow.com/questions/39754341/none-of-your-accounts-are-a-member-code-signing-errors- après la mise à niveau vers xcode

C'était douloureux

Salut tout le monde,

Comme je l'ai mentionné plus tôt dans ce numéro, j'ai été confronté à des problèmes personnels ces derniers mois, mais les choses vont beaucoup mieux maintenant ! Grâce à l'amélioration de ma qualité de vie, je suis beaucoup plus occupé par des activités loin de l'ordinateur, donc je n'ai pas autant de temps et d'énergie à consacrer à l'open source. J'espère trouver l'étincelle de motivation pour sortir les paramètres et publier bientôt l'extension sur l'App Store.

J'espère que tous ceux qui ont fait un don n'ont pas l'impression d'avoir été trompés de quelque façon que ce soit. Merci à tous d'être patients et compréhensifs ️

@simeg pouvons-nous vous convaincre de partager les droits de publication/d'ouvrir un peu l'équipe de développeurs ? Je suis inscrit en tant que développeur Apple et j'aimerais que cela soit publié et continuer à aider.

Salut les amis, j'ai passé du temps ce matin à faire fonctionner cela et cela a été soumis pour vérification. Si tout se passe bien, je pense que nous verrons Vimari sur le Mac App Store dans quelques jours. J'ai fait un fork personnalisé, incorporé un PR récent qui comprend une belle icône, etc.

MAIS , je voulais signaler qu'il existe une autre solution qui existe déjà sur l'App Store et qui semble être BEAUCOUP mieux entretenue. Veuillez consulter sVim : https://github.com/flipxfx/sVim

Si vous voulez juste utiliser quelque chose qui fonctionne comme Vimium sans avoir à le construire vous-même, ce que je pense être ce que veulent 95% des gens, il suffit de le télécharger depuis le Mac App Store ici : https://safari-extensions .apple.com/details/?id=com.flipxfx.svim-6Q2K7JYUZ6

Si vous voulez Vimari, j'espère que nous le verrons bientôt sur l'App Store.

Cela a été rejeté de l'App Store pour les raisons suivantes :

  1. Ne fonctionne pas avec le mode sombre de MacOS.
  2. Il n'y a pas de contenu dans le menu Fenêtre de l'extension - c'est bien réel.

Si quelqu'un est très attaché à Vimari, nous devrons corriger ces problèmes avant de soumettre à nouveau si nous avions le moindre espoir d'entrer dans l'App Store pour faciliter le téléchargement. Mais je suggère fortement de consulter sVim, qui est également mentionné dans mon commentaire ci-dessus : https://safari-extensions.apple.com/details/?id=com.flipxfx.svim-6Q2K7JYUZ6

@nchase , cela ne subira-t-il pas le même sort que cette extension avec la prochaine version de macOS ? Le magasin d'extensions Safari n'est-il pas en train de disparaître et le seul moyen d'obtenir des extensions est de les regrouper dans des applications ?

Ah. Pour une raison quelconque, je pensais que c'était déjà dans l'app store mac, désolé pour ça.

sVim semble un peu mieux entretenu (quelqu'un y fusionne activement les demandes d'extraction il y a quelques mois à peine et l'extension n'a aucun des problèmes qui m'ont fait rejeter lorsque j'ai soumis Vimari, il semble donc que l'ascenseur serait plus petit pour l'obtenir là où il doit être, mais je peux me tromper).

Je n'ai pas du tout regardé dans le code, vraiment.

@danielcompton Avez-vous intérêt à être un champion de Vimari ? (Si vous l'avez fait, je pourrais simplement pousser les modifications que j'ai apportées jusqu'à présent à ma télécommande et vous pourrez y accéder.)

Oui, j'y ai pensé et j'exécute ma propre version localement, qui a fusionné quelques PR. Je serais heureux d'essayer de l'acheter en magasin. J'ai également pensé qu'il serait bon à long terme de baser la version Safari plus étroitement sur le projet en amont afin que nous puissions tirer parti (et contribuer aux) améliorations de la base de code d'origine.

Génial

Avez-vous un point de vue sur sVim vs Vimari ? (c'est-à-dire avez-vous creusé assez profondément pour avoir un avis sur le code et l'architecture de chacun ?)

Je ne connaissais pas sVim jusqu'à ce que vous le mentionniez, mais il dérive également d'un plugin Chrome : cVim qui compte environ 30 000 utilisateurs. Vimari dérive de Vimium qui compte environ

cVim explique certaines différences bien que celles-ci aient cinq ans et que Vimium puisse en avoir certaines ou toutes maintenant. Aucune des fonctionnalités énumérées n'a été aussi importante pour moi, même si je pouvais voir pourquoi les gens pourraient les vouloir.

Je ne peux pas vraiment faire de comparaisons plus éclairées entre eux pour le moment, qu'en pensez-vous ?

J'utilise aussi Vimium dans Chrome, c'est ainsi que j'ai trouvé Vimari :)

En fonction de la facilité de portage des fonctionnalités de Vimium, je dirais que c'est toujours mon premier choix car il est si dynamique et actif.

Il y a quelques années, j'ai pu rédiger une pull request qui a été fusionnée dans Vimium sans beaucoup de travail (c'est-à-dire que le code était assez clair et facile à comprendre et à modifier, et en regardant à nouveau Vimium, il semble toujours assez petit et compréhensible - je suppose que c'est écrit en coffeescript, ce qui est un obstacle mineur mais mérite d'être mentionné).

À distance, il semble que cela ne devrait pas être horrible de porter des fonctionnalités/maintenir la parité 🤷‍♂️

Je pense que le vrai travail va être de préparer ce projet pour l'App Store. J'ai pu y consacrer 90 minutes la semaine dernière et je suis allé plus loin que prévu, mais je n'ai pas anticipé les problèmes pour lesquels nous avons été rejetés.

Salut tout le monde,

En janvier 2018, je me suis engagé à mettre cette extension sur l'App Store et les gens ont donné de l'argent pour atteindre cet objectif. Je tiens à m'excuser auprès de ceux d'entre vous qui ont fait un don; Honnêtement, je pensais que j'avais l'énergie et la persévérance pour y arriver, mais des choses se sont produites qui ont fait que mon attention s'est tournée ailleurs. Comme je l'ai déjà mentionné, j'ai eu des bouleversements dans ma vie personnelle qui m'ont fait donner la priorité à nouveau à me sentir bien sur toute autre chose. Je me sens à nouveau bien et si quelqu'un veut récupérer son argent, je le lui rendrai volontiers. Envoyez-moi un e-mail à [_retiré car aucune action depuis un certain temps_] pour un remboursement ! Je me sens mal de ne pas avoir accompli ce que j'ai promis et je ne veux pas que quiconque se sente dupé.

Quant au projet va je ne continuerai pas cet objectif. Je suis heureux de voir d'autres personnes intervenir et si je peux être d'un quelconque soutien, faites-le moi savoir. Le propriétaire de ce projet n'est plus actif mais je pourrais peut-être vous mettre en contact avec lui pour accéder au repo.

Je suis heureux de voir d'autres personnes intervenir et si je peux être d'un quelconque soutien, faites-le moi savoir. Le propriétaire de ce projet n'est plus actif mais je pourrais peut-être vous mettre en contact avec lui pour accéder au repo.

Merci, j'ai envoyé un e-mail à Guy pour prendre en charge la maintenance de ce projet et l'intégrer à l'App Store. J'espère obtenir quelque chose d'ici la date de sortie de Catalina afin que les mises à niveau aient quelque chose à faire.

Salut tout le monde,

Je prévois de transférer Vimari à @danielcompton . J'ai ouvert un numéro séparé pour discuter des derniers commentaires avant le transfert - veuillez poster vos commentaires au #137

Fermé au profit du #139.

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

danielcompton picture danielcompton  ·  19Commentaires

simeg picture simeg  ·  7Commentaires

arjenzhou picture arjenzhou  ·  5Commentaires

nbelzer picture nbelzer  ·  10Commentaires

danielcompton picture danielcompton  ·  4Commentaires