Vimari: Статус доступности расширения в магазине расширений Safari

Созданный на 11 июл. 2018  ·  37Комментарии  ·  Источник: televator-apps/vimari

Я только что зарегистрировался в программе Apple Developer Program, и я буду изучать, какие изменения должны произойти с кодом, прежде чем отправлять его на проверку.

Буду держать вас в курсе в этом выпуске!


ОБНОВЛЕНО
Прочтите полный выпуск для ознакомления с контекстом.

ДЕЛАТЬ

  • [ ] Настройки
  • [] Сделать возможным открывать несколько ссылок в новых вкладках
  • [] Узнайте, как распространять расширение
  • [] Какой сайт открывать в новой вкладке? Пустая строка не работает, поэтому нам нужно что-то еще, в идеале эквивалент about:config в других браузерах

Самый полезный комментарий

Привет всем,

Как я упоминал ранее в этом выпуске, последние несколько месяцев я имел дело с некоторыми личными проблемами, но сейчас дела обстоят намного лучше! В результате того, что я улучшил качество своей жизни, я стал гораздо больше занят деятельностью вне компьютера, поэтому у меня не так много времени и энергии, чтобы посвятить его открытому исходному коду. Я надеюсь найти мотивационную искру, чтобы выпустить настройки и в ближайшее время опубликовать расширение в App Store.

Я надеюсь, что все, кто пожертвовал деньги, не чувствуют себя обманутыми. Спасибо всем за терпение и понимание ❤️

Все 37 Комментарий

Прочтите документацию Apple, и она великолепна. Похоже, что код нужно обернуть в приложение macOS, но не сказано, какой тип. Я буду занят несколько дней, но постараюсь втиснуть часть этой работы.

Если у кого-то есть опыт работы с этим или кто-то хочет помочь, дайте мне знать.

Я уже какое-то время возился с этим, и, черт возьми ... документы убивают меня. Мне любопытно, как они ожидают, что все перенесут свои расширения Safari в расширения приложений Safari с помощью этой скудной документации, в которой нет никаких примеров. Пройдет много времени, прежде чем все расширения будут перенесены: /

В любом случае, сейчас у меня что-то работает, я могу использовать расширение, вроде как, но мне нужно понять различные этапы загрузки расширения, прежде чем двигаться дальше. Также я не нашел поддержки для настройки расширения, которое было бы отстой, если бы это было правдой.

Также я думаю, что мы можем избежать наказания, если не будем иметь расширение в App Store, но я еще не уверен. Я читал об этом на некоторых форумах, но не исследовал более подробно. Это будет означать, что у нас есть мгновенные выпуски, но с обратной стороной, что вам придется зайти сюда, в Github, чтобы загрузить его, вместо того, чтобы открывать App Store. Будем исследовать это дальше.

У меня есть версия, работающая с Safari 12. Это очень хакерское решение, но оно работает. Однако настройки нельзя изменить, если вы не измените их в коде.

Следите за прогрессом в моем PR # 104.

Я объединил PR с расширением приложения. Я дал инструкции, как его установить. Пожалуйста, всем, кто обновился до macOS Mojave, следуйте инструкциям и сообщите нам, если у вас что-то не работает. Я продолжу работу над кодом, чтобы сделать его лучше, но пока у вас будет базовая функциональность расширения.

Пингуем всех, кто принимал участие в этом, чтобы мы могли получить обратную связь по этому поводу:
@jad @jaredmichaelwilliams @olivierlefloch @afarrell @weirdfishes @LiYunyang @pcejrowski @lamons @hcgatewood @LeonardCohen @ovisan @jezkline @danielcompton @guyht

Вот инструкция .

Спасибо.

Я в Мохаве (18A326h). При создании проектов возникает одна ошибка:

error: Task failed with exit 1 signal 0 {
/ usr / bin /codeign '--force' '--sign' '0CA31562965A44B984D08063E858CC715E0B0B34' '--verbose' '/ Users / liyunyang / Library / Developer / Xcode / DerivedData / vimari-gcitcrkzdildthuvers / Debugyah /. приложение / Содержание / Frameworks / libswiftAppKit.dylib '
}

@LiYunyang Вы пробовали какое-либо из этих двух решений ?

Потратив на это еще немного времени, я не уверен, что мы сможем перенести все функции, даже не некоторые базовые :(. API настолько ограничен, если вы не работаете с всплывающим окном или панелью инструментов. Я не Я не понимаю, почему, и я изо всех сил стараюсь найти информацию, но поскольку это так ново + ужасная документация Apple, ее нет. Например, открытие новой вкладки тривиально из всплывающего окна / панели инструментов, но невозможно в противном случае. Apple убьет большую часть текущие расширения с таким подходом. Я буду продолжать попытки, но ничего не могу обещать.

Спасибо @simeg. Я успешно построил его со своим собственным сертификатом разработчика, и он работает с Safari 12 на macOS 10.13.6 High Sierra.,

@akrabat Я рад, что у вас работает. От вас требовалось использовать собственный сертификат разработчика, чтобы он работал?

да. При сборке произошла ошибка, связанная с сертификатами, поэтому я выбрал свой в раскрывающемся списке.

Сделав перерыв на несколько дней и получив некоторую помощь, мне удалось найти некоторую информацию, которая, как я думаю, позволит нам перенести больше функций, чем я первоначально ожидал! Итак, что сейчас на моем радаре:

  • Перенос всех функций
  • Убедитесь, что расширение возможно установить без сертификата разработчика. Если вы пытались и потерпели неудачу, было бы полезно, если бы вы могли разместить здесь сообщение об ошибке, потому что прямо сейчас я не уверен, как это исправить.

[rant] [Я не единственный разочарованный разработчик] (https://forums.developer.apple.com/thread/62410), похоже. Я сделал то, что рекомендовал сотрудник Apple, я отправил отчет об ошибке, в котором попросил API с большей функциональностью. Он цепляется за соломинку, но я не знаю, что еще делать ... Надеюсь, Apple поймет, что они убивают экосистему расширений для Safari, изменят API и напишут лучшую документацию. [/ rant]

Вот функции, указанные в README:

f Переключить ссылки
F Переключить ссылки (открыть ссылку в новой вкладке)
k Прокрутка вверх
j Прокрутите вниз
h Прокрутите влево
l Прокрутите вправо
u Прокрутка вверх на половину страницы
d Прокрутите вниз половину страницы
gg В начало страницы
G Перейти в конец страницы

H История назад
L история вперед
r Перезагрузить
w Следующая вкладка
q Предыдущая вкладка
x Закрыть текущую вкладку и перейти на левую вкладку
X Закрыть текущую вкладку и перейти на правую вкладку
t Открыть новую вкладку (кажется, она даже не работает в версии 1.12)

Строки с зачеркиванием не будут работать в расширениях приложений Safari с текущим API, что отстой. Также мне нужно выяснить, как управлять настройками. Я почти уверен, что это можно сделать, но это может занять некоторое время. Однако теперь, когда эта работа сделана, я могу сосредоточиться на том, чтобы сделать vimari доступным для всех, как через загрузку, так и в будущем в App Extension Store.

Мне жаль, что многие из вас пожертвовали деньги на получение 100% функциональности, доступной в Safari 12, но я ничего не могу сделать, чтобы изменить API :( Надеюсь, вы понимаете, и я все еще стремлюсь улучшить это расширение.

FWiW, те, что есть, для меня ключевые. Хотя я не мог заставить F работать, и мне пришлось переназначить его на t .

@akrabat Все еще не слито в мастер, так что это ожидаемо.

Спасибо @simeg! Он работает на моей машине Мохаве. (Удивительно, но я не менял свои предыдущие настройки, все работает само собой.)

@LiYunyang Я рад слышать, что это работает на вас! Вам приходилось подписывать его со своей учетной записью разработчика? Кроме того, у меня есть открытый PR с несколькими реализованными функциями, которые я еще не объединил в master, поэтому, если вы вернетесь через несколько дней, вы получите больше функций. Например, открыть ссылку в новой вкладке ( shift + t ) или открыть новую пустую вкладку ( t ). С ними связаны небольшие проблемы, но я над этим работаю.

@simeg Я впервые

Я только что объединил свою ветку, над которой работал, в master, что позволит включить две новые функции: открыть ссылку в новой вкладке ( shift + t ) и открыть новую пустую вкладку ( t ). У него есть панель инструментов, которая сейчас ничего не делает, я пытаюсь понять, как делать настройки, поэтому пока просто игнорируйте ее.

Итак, похоже, что для компиляции необходимо изменить учетную запись для подписи в Xcode - войдите в свою учетную запись Apple в xcode и ее использование, похоже, работает нормально.
Когда дело доходит до переключения или закрытия вкладок: @simeg прав - в API сейчас нет поддержки для этого, и если Apple не добавит его, я не думаю, что есть что делать. Apple разрешает расширениям приложений доступ к активной вкладке, но не позволяет закрыть ее. Они также не разрешают доступ ко всем открытым вкладкам. API буквально бесполезен, и я понятия не имею, почему Apple решила сделать что-то подобное. С помощью этого API вы можете открывать вкладку, переходить по URL-адресу, накладывать на активную страницу некоторые новые графические элементы, но это все.

@Rahlir Да, мне еще нужно разобраться с некоторыми мелкими проблемами. Не знаю, как это сделать. Я скоро опубликую это в официальном расширении приложения и, надеюсь, избавит от подобных проблем. Я также не понимаю, почему Apple сделала что-то подобное. Я думаю, это серьезно снизит использование Safari.

Сейчас я пытаюсь разобраться в настройках. Я не могу найти никакой информации о рекомендуемом способе, поэтому я пытаюсь увидеть, что сделали другие люди, глядя на их код, но я медленно продвигаюсь. Будем держать вас в курсе.

Сейчас я пытаюсь разобраться в настройках. Я не могу найти никакой информации о рекомендуемом способе, поэтому я пытаюсь увидеть, что сделали другие люди, глядя на их код, но я медленно продвигаюсь. Будем держать вас в курсе.

Если вы говорите о хранении настроек в вашем собственном коде Swift, рекомендуемым способом будет UserDefaults .

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

Очевидно, вам нужно будет иметь свою логику сохранения / загрузки в Swift, а затем передать ее вашему JS с событием. (вероятно, что-то вроде "getSettings" "saveSettings")

Совершенно безумие, сколько функциональности они убрали из расширений. Если им действительно нужны хорошие расширения, им придется реализовать стандарт WebExtensions, иначе вряд ли кто-нибудь собирается конвертировать / поддерживать их расширения для Safari.

Если у вас есть какие-либо вопросы о расширениях приложений Safari, по которым вы не можете найти документацию, не стесняйтесь, свяжитесь со мной, я уже около 6 месяцев занимаюсь этими расширениями, ненавидя Apple каждую секунду.


Замечание об отсутствующей функциональности вкладок, вы можете использовать супер-хакерский способ взаимодействия с вкладками:

Сценарий Apple.

В коде Swift вы можете запустить сценарий AppleScript, который будет взаимодействовать с вкладками за вас. Пример скрипта, который может изменить текущую вкладку:

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

Сначала tell откроет / активирует вкладку справа от текущей вкладки. Второй tell закроет текущую открытую вкладку. Таким образом, вы можете создавать функции AppleScript для «следующая / предыдущая вкладка» и «закрыть текущую, перейти влево / вправо». Вам просто нужно будет выяснить, как написать AppleScript, чтобы делать то, что вы хотите.

Проблема в том, что я почти уверен, что вызов сценариев AppleScript сломает песочницу приложения, что означает, что вы не сможете отправить его в App Extension Store. Таким образом, вы бы застряли в том, чтобы распространять это самостоятельно. (Еще предстоит подписать)

Честно говоря, я на самом деле не тестировал этот метод вкладок, но в прошлом я тестировал запуск AppleScript из расширения Swift Safari и использовал его для работы в Safari. Но пока ничего не выпустил с его помощью.

РЕДАКТИРОВАТЬ:

Я как бы начал сомневаться в себе, поэтому я пошел дальше и сделал доказательство концепции, используя текущую версию в этом репозитории: https://streamable.com/kions

Это использует мой вышеупомянутый AppleScript для изменения вкладок. В коде используется NSAppleScript и изолированную программную среду приложения отключать не нужно.

Но вы должны добавить «Временное исключительное право» в свой файл полномочий.

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

Документация: https://developer.apple.com/library/archive/documentation/Miscellaneous/Reference/EntitlementKeyReference/Chapters/AppSandboxTemporaryExceptionEntitlements.html#//apple_ref/doc/uid/TP40011195 -CH5-SW3

Я не уверен, как это повлияет на получение одобрения для App Extension Store.

Похоже, что если у вас есть веская причина и Apple соглашается, она будет одобрена: https://stackoverflow.com/a/13903333/7768060

@ jdf221 Вау, ты не представляешь, как я ценю, что кому-то задают вопросы - я очень ценю это. Мне жаль, что у меня не было сил больше над этим поработать в данный момент. В настоящий момент я сталкиваюсь с некоторыми трудностями в своей личной жизни, но, надеюсь, я найду мотивацию вернуться к этому проекту. Благодарю всех за терпение.

Я просто хотел зайти и сказать, что было бы замечательно, если бы это было в магазине приложений.

Я просто провел много времени , пытаясь получить его компиляции , прежде чем успех благодаря этому: https://stackoverflow.com/questions/39754341/none-of-your-accounts-are-a-member-code-signing-errors- после обновления до xcode

Было больно

Привет всем,

Как я упоминал ранее в этом выпуске, последние несколько месяцев я имел дело с некоторыми личными проблемами, но сейчас дела обстоят намного лучше! В результате того, что я улучшил качество своей жизни, я стал гораздо больше занят деятельностью вне компьютера, поэтому у меня не так много времени и энергии, чтобы посвятить его открытому исходному коду. Я надеюсь найти мотивационную искру, чтобы выпустить настройки и в ближайшее время опубликовать расширение в App Store.

Я надеюсь, что все, кто пожертвовал деньги, не чувствуют себя обманутыми. Спасибо всем за терпение и понимание ❤️

@simeg можем ли мы убедить вас поделиться правами на публикацию / немного открыть команду разработчиков? Я зарегистрирован как разработчик Apple, и мне бы очень хотелось, чтобы это опубликовали и продолжали помогать.

Привет, ребята, сегодня утром я потратил некоторое время на то, чтобы заставить это работать, и оно было отправлено на проверку. Если все пойдет хорошо, я ожидаю, что через несколько дней мы увидим Vimari в Mac App Store. Я сделал кастомный форк, включил недавний PR с красивым значком и т. Д.

НО , я хотел сказать, что есть еще одно решение, которое уже существует в магазине приложений и, кажется, лучше обслуживается. Пожалуйста, проверьте sVim: https://github.com/flipxfx/sVim

Если вы просто хотите использовать вещь, которая работает как Vimium, не собирая ее самостоятельно, а это то, что, как мне кажется, хотят 95% людей, просто скачайте ее из Mac App Store здесь: https: // safari-extensions .apple.com / подробности /? id = com.flipxfx.svim-6Q2K7JYUZ6

Если вам нужен Vimari, надеюсь, мы скоро увидим его в App Store.

Это было отклонено в App Store по следующим причинам:

  1. Не работает с темным режимом MacOS.
  2. В меню «Окно» расширения нет содержимого - это определенно реально.

Если кто-то очень привержен Vimari, нам нужно было бы исправить эти вещи перед повторной отправкой, если бы у нас была хоть какая-то надежда попасть в App Store, чтобы упростить загрузку. Но я настоятельно рекомендую проверить sVim, который также упоминается в моем комментарии выше: https://safari-extensions.apple.com/details/?id=com.flipxfx.svim-6Q2K7JYUZ6

@nchase , не постигнет ли это расширение в следующей версии macOS? Разве магазин расширений Safari не исчезнет, ​​и единственный способ получить расширения - это приложения?

Ах. По какой-то причине я подумал, что он уже есть в магазине приложений для Mac, извините.

sVim, кажется, немного лучше поддерживается (кто-то активно объединяет запросы на вытягивание там совсем недавно, несколько месяцев назад, и у расширения нет ни одной из проблем, из-за которых я был отклонен, когда я отправил Vimari, поэтому кажется, что подъем будет меньше чтобы получить его там, где он должен быть, но я могу ошибаться).

Честно говоря, я вообще не заглядывал в код.

@danielcompton Есть ли у вас

Да, я подумал об этом и запускаю свою собственную сборку локально, которая объединила несколько PR. Я был бы счастлив попробовать и доставить это в магазин. Я также подумал, что в долгосрочной перспективе было бы неплохо получить сборку Safari, более основанную на исходном проекте, чтобы мы могли воспользоваться преимуществами (и внести свой вклад) в улучшения в исходной кодовой базе.

Потрясающе 😄

Есть ли у вас какие-либо перспективы относительно sVim vs Vimari? (т.е. достаточно ли вы копали, чтобы составить мнение о коде и архитектуре каждого из них?)

Я не знал о sVim, пока вы не упомянули об этом, но он также является производным от плагина Chrome: cVim, у которого ~ 30 тыс. Пользователей. Vimari происходит от Vimium, у которого ~ 300 тыс. Пользователей. Я тоже использую Vimium в Chrome.

cVim объясняет некоторые различия, хотя им уже пять лет, и в Vimium теперь могут быть некоторые или все из них. Ни одна из перечисленных функций не была для меня настолько важной, хотя я мог понять, почему они могут понадобиться людям.

Я не могу сейчас провести более информированное сравнение их, что вы думаете?

Я тоже использую Vimium в Chrome, именно так я нашел Vimari :)

В зависимости от того, насколько легко переносить функции из Vimium, я бы сказал, что это мой первый выбор, поскольку он такой яркий и активный.

Несколько лет назад мне удалось написать пул-реквест, который был объединен с Vimium без особых усилий (т.е. код был довольно ясным и легким для понимания и изменения, и, снова взглянув на Vimium, он все еще кажется довольно маленьким и понятно - я думаю, это написано на coffeescript, что является незначительным препятствием, но стоит упомянуть).

На расстоянии кажется, что портировать функции / поддерживать четность не должно быть ужасно 🤷‍♂️

Я думаю, что настоящая работа будет заключаться в том, чтобы подготовить этот проект для App Store. На прошлой неделе я смог потратить на это 90 минут и продвинулся дальше, чем ожидалось, но не ожидал проблем, из-за которых нам отказали.

Привет всем,

В январе 2018 года я решил разместить это расширение в App Store, и люди пожертвовали деньги на достижение этой цели. Я хочу извиниться перед теми из вас, кто сделал пожертвование; Я искренне думал, что у меня хватит энергии и настойчивости, чтобы сделать это, но случилось то, что заставило меня сосредоточиться на другом. Как я уже упоминал ранее, у меня были некоторые расстройства в личной жизни, из-за которых я снова стал отдавать предпочтение хорошему настроению, а не всему остальному. Теперь я снова чувствую себя хорошо 🙂 и если кто-то захочет вернуть свои деньги, я с радостью их верну. Напишите мне по адресу [_removed, потому что какое-то время никаких действий_] для возврата денег! Мне жаль, что я не выполнила то, что я обещала, и я не хочу, чтобы кто-то чувствовал себя обманутым.

Что касается проекта, я не буду продолжать эту цель. Я рад видеть, что другие люди подходят, и если я могу оказать какую-либо поддержку, дайте мне знать. Владелец этого проекта больше не активен, но я мог бы связать вас с ним для доступа к репо.

Я рад видеть, что другие люди подходят, и если я могу оказать какую-либо поддержку, дайте мне знать. Владелец этого проекта больше не активен, но я мог бы связать вас с ним для доступа к репо.

Спасибо, я отправил Гаю электронное письмо с просьбой взять на себя обслуживание этого проекта и разместить его в App Store. Я надеюсь, что к дате выпуска Каталины что-то там появится, чтобы у обновляющихся было к чему двигаться.

Всем привет,

Я планирую передать Vimari в @danielcompton . Я открыл отдельный вопрос, чтобы обсудить последние комментарии перед переносом - пожалуйста, оставляйте комментарии в # 137

Закрыт в пользу № 139.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги