Этот твик превратит иконку safari в настоящий компас

Features

Privacy

  • Force HTTPS (+ configurable exception sites)

  • Locked Tabs — Adds a lock-switch to every tab inside the tab switcher that, when enabled, prevents the specific tab from being closed until the switch is disabled again

  • Biometric Protection — Require TouchID / FaceID verification for switching browsing modes, locking tabs, unlocking tabs or accessing locked tabs

Uploads & Downloads

  • Upload Any File — An additonal option to the document sheet that can be used to upload any file on your root file system

  • Download Manager — Extensive enhancements to the downloading functionality of Safari, check out the preference page for more detailed info

Usability

  • Both Link Opening Options — Have the «Open in Background» option and the «Open in New Tab» option available alongside each other

  • Open in Opposite Mode Option — Adds an option to open a long pressed URL in the respective other browsing mode

  • Desktop Mode Switch — A switch inside tab switcher that can be used to toggle desktop mode on / off globally

  • Tab Manager — An easy way to batch-export, batch-close and batch-add tabs

  • Disable Tab Limit — Disables the default tab limit (varies between devices)

  • Always Open Links in New Tab (+ Option to always open in background)

  • Fully Disable Private Browsing

  • Insert Suggestion on Long Press — Insert a search suggestion into the URL bar by long pressing it

  • Suggestion Insert Button — Insert a search suggestion into the URL bar by pressing a button on the right of it

  • Show Tab Count — Shows the tab count on the button that opens the tab switcher

  • Fullscreen Scrolling — Hide the top bar when scrolling down

  • Lock Bars — Lock the top and buttom bar into place while scrolling

  • Show Full Site URL — Always show the full URL in the top bar

  • Suppress Mailto Dialog (on iOS 10 and above)

Actions

  • Change Browsing Mode on App Start, App Resume, External Link Opened

  • Auto Close Tabs on Minimazion or Close of Safari

  • Auto-Clear Browser Data on Minimization or Close of Safari

Gestures

  • URL Bar Swipe Left, Right, Down Gestures

  • Toolbar Swipe Left, Right, Up / Down Gestures

  • Many available actions to trigger

Customization

  • Color Settings for Top Toolbar, Bottom Toolbar and Tab Switcher for both normal and private browsing modes

  • Change the button order of the Top and Bottom Toolbars (also includes additonal buttons)

  • Custom Start Site — Change the default favorites view when opening a new tab to a specified URL

  • Custom Start Engine — Change the search engine of Safari to any URL

  • Custom User Agent — Change the user agent for both mobile and desktop mode

Web View

Apple известна своей приверженностью к обеспечению безопасности пользовательских данных, поэтому взаимоотношения приложений и веба в iOS всегда были сложными. Изначально, когда в 2008 году появился App Store, а iOS называлась iPhone OS, разработчики могли отображать веб-контент в своих приложениях. Это делалось с помощью API UIWebView и было весьма примитивно. Из-за ограничений и невозможности использовать пользовательские данные из Safari разработчикам приходилось создавать свои собственные мини-браузеры. Они оснащали их минимально необходимой функциональностью, чтобы удовлетворить потребности пользователей.

В 2011 году, с выходом iOS 4.3, Apple представила JavaScript-движок Nitro, который значительно увеличил производительность Safari и скорость открытия сложных страниц. Nitro был доступен эксклюзивно для Safari, поэтому сторонние браузеры остались за бортом. Впрочем, это было логично, поскольку новый движок мог работать со страницами и исполняемыми файлами, загруженными в оперативную память, а для сторонних приложений эта возможность была недоступна из соображений безопасности.

Мини-браузеры в Twitterrific, NewsBlur и Instapaper.

Мучения разработчиков — и, что более важно, пользователей — длились вплоть до 2014 года, пока Apple не представила новый API WKWebView, немного уравнявший счет. WKWebView позволял встроенным браузерам использовать все преимущества Nitro, включая плавную прокрутку и жесты

Новый API был действительно значимым нововведением, и тысячи разработчиков сразу же обновили свои приложения, чтобы воспользоваться всеми его преимуществами. В iOS 8 огромное количество приложений использует WKWebView для обеспечения лучшего пользовательского опыта.

Однако несмотря на улучшения, встроенным браузерам очень далеко до той функциональности, которую Apple создала в Safari за многие годы. Из-за ограничений безопасности одной из главных проблем является отсутствие поддержки «Связки ключей iCloud» и, как следствие, автозаполнения паролей и других данных. Пользователям приходится переключаться в Safari, а это жутко неудобно.

Инди-разработчик из Homegrown Software Алекс Прайс, однако, указывает на преимущества перенаправления из приложений в Safari. По его мнению, различный интерфейс сторонних браузеров и отсутствие в некоторых из них отображения URL посещаемой страницы может стать проблемой фишинга пользовательских данных.

Ортвин Генц из FutureTap обращает внимание на другие недостатки интерфейса: не во всех встроенных браузерах есть хороший индикатор загрузки и безопасного соединения. Разработчик Tumblr Брайан Ирэс подтверждает общее мнение, что мини-браузеры в приложениях — это всегда компромисс

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

Новый Web View

Разработчики большинства сторонних приложений не получают от создания собственных браузеров ни удовольствия, ни выгоды. Как и любая функция в приложении, оно отнимает время и ресурсы на разработку, поэтому Safari View Controller позволит им сбросить этот груз со своих плеч и сосредоточиться на других функциях приложений и их улучшении.

Готовность Apple защитить конфиденциальные данные пользователей — это основная черта Safari View Controller. Он объединяет в себе лучшие аспекты Safari, которые всегда останутся недостижимыми для сторонних браузеров: единый пользовательский опыт, скорость, безопасность и полнофункциональность.

Compiling

You will need the following libraries / frameworks in order to compile Safari Plus:

There are also some variables you can set when running make:

to compile Safari Plus for the iOS simulator

to compile Safari Plus for rootless jailbreaks

to compile Safari Plus without the Cephei dependency (some features won’t work)

to compile Safari Plus without the libCSColorPicker dependecy (color settings will be disabled if this flag is set)

to compile Safari Plus without the rocketbootstrap dependency (file access will be restriced and some features won’t work)

to compile Safari Plus with all of the above NO_* flags set

to compile a version of Safari Plus that produces some very verbose debug logs related to the Download Manager feature that are stored inside sandbox container/Documents/Logs

Положительные стороны нововведения

По мнению Брайана Ирэса, Safari View Controller быстро станет стандартом для просмотра веб-контента в сторонних приложениях и пользователи будут отдавать предпочтение именно таким продуктам. «Не вижу причин для большинства разработчиков отказываться от внедрения Safari View Controller, — говорит он. — В будущем приложения со встроенными браузерами будут выглядеть архаичными».

Ведущий разработчик Instapaper Брайан Донахью уже заменил встроенный браузер Instapaper на Safari View Controller. Мини-браузер позволял пользователям просматривать полные версии статей в приложении, но он имел много ограничений. Теперь с Safari View Controller Instapaper может предложить пользователям «родную» функциональность Safari. «А это не может не радовать», — отмечает Донахью.

Для Андерса Борума, разработчика iOS-клиента для Git Working Copy, ключевым преимуществом Safari View Controller является возможность использовать «Связку ключей iCloud» и не переключаться в Safari, проводя все операции в приложении. Как и многие другие сторонние приложения, Working Copy требует авторизации пользователей на сервисах, пароль от которых сохранен в iCloud и вводится через автозаполнение. Один только этот факт уже является веской причиной для внедрения Safari View Controller, считает Борум.

Его полностью поддерживает Джефф Хэкуорт, создатель Easy Shopping List и нескольких других iOS-приложений. «Safari View Controller стоит использовать даже для самых простых нужд», — говорит он. Пользователям будет знаком интерфейс, опции шаринга, а также доступны удобные фишки вроде автоскрытия панелей инструментов и навигации.

Их мнение разделяют и другие опытные разработчики, аргументируя его тем, что с Safari View Controller они легко получат то, к чему всегда стремились — пользователи смогут просматривать веб-контент, не покидая их приложений. Единственная причина, по которой люди переходят в Safari для просмотра тех или иных ссылок, — это ограничения и неудобство встроенных в сторонние приложения браузеров. Теперь это останется в прошлом, с Safari View Controller будут «и волки сыты, и овцы целы».

«Подводные камни»

Один из обсуждаемых разработчиками вопросов звучит так: стоит ли жертвовать отлаженными за многие годы решениями и переходить на новый Safari View Controller? Другими словами, что выбрать: текущую бесшовность или гибкость с поддержкой системных функций?

Создатель GiftPlanner Эндрю Милхэм беспокоится, что Safari View Controller никогда не будет выглядеть «абсолютно интегрированным» из-за отсутствия глубокого интерфейса и кастомизации, что сделает его восприятие в приложении чужеродным. Например, в браузере GiftPlanner есть встроенные жесты, которые будут недоступны в Safari View Controller. И все же, по словам Милхэма, новое решение имеет гораздо больше преимуществ, чем недостатков.

Такие приложения, как Editorial и 1Password, имеют более продвинутые браузеры с функциями, недоступными в Safari View Controller.

Ожидается, что с выходом iOS 9 разработчики известных приложений не станут переходить на Safari View Controller, а будут продолжать использовать свои встроенные браузеры для отображения веб-контента. По сути, в мини-браузерах большинства приложений есть те же функции, что и в Safari View Controller: кнопки навигации, адресная строка, возможность шаринга.

Логично задать вопрос, нужна ли возможность обмена с другими приложениями крупным компаниям со своими экосистемами. Яркий пример — Facebook и Twitter. Два самых популярных бесплатных приложения в App Store не используют расширения обмена для iOS 8. Почему? Ответ прост: им невыгодно, чтобы пользователи делились контентом или сохраняли его в других местах, за пределами собственных экосистем. По этим причинам такие компании, как Google, Facebook и Twitter, не станут спешить с интеграцией Safari View Controller, тем самым замедляя его повсеместное внедрение.

Встроенные браузеры в Twitter и Facebook Paper.

С Safari View Controller в Twitter на iOS пользователи смогут сохранять ссылки в любых сервисах, а у Facebook не будет возможности отслеживать страницы, на которые переходят пользователи. То же самое касается Gmail — Google не сможет анализировать исходящий из почтового приложения трафик. И это лишь несколько примеров. Для компаний, зависящих от сбора и анализа пользовательских данных, Safari View Controller не сулит ничего хорошего.

Однако у нового программного компонента Apple есть еще одна проблема: как пользователи смогут знать наверняка, что они находятся в безопасной среде? Safari View Controller внешне похож на Safari, но он не является его частью. Придав интерфейсу встроенных браузеров визуальное сходство с Safari View Controller, недобросовестные разработчики смогут получить доступ к паролям и другим важным данным из «Связки ключей iCloud». Даже технически подкованные пользователи не смогут определить подлинность Safari View Controller.

И последняя ложка дегтя. Приложения со специфическими функциями также вряд ли откажутся от собственных браузеров в пользу Safari View Controller. К таким приложениям относятся, например, менеджеры загрузок. Возможность загрузки файлов реализована разработчиками в их мини-браузерах, но точно не будет работать в Safari View Controller.

Ссылка на основную публикацию