Как я могу добавить расширение сафари в существующее приложение для iOS?IOS

Программируем под IOS
Ответить
Anonymous
 Как я могу добавить расширение сафари в существующее приложение для iOS?

Сообщение Anonymous »

Я разрабатываю расширение браузера вместе с компаньоном. Оба получают доступ к одному и тому же API REST и отображать данные, помогают пользователю с некоторыми задачами и т. Д. На рабочем столе это хорошо продвинуто. Теперь я хотел бы собрать его для iOS. Это создает новый проект Xcode с расширением и небольшим приложением для заполнителей (которое отображает логотип расширения). Давайте назовем это приложением расширения. Это приложение отображает WkwebView с кодом моего веб -приложения, и есть какой -то собственный код, чтобы справиться с аутентификацией (Apple Win In) и постоянным хранилищем. Давайте назовем это приложением -компаньоном. Более сложный, чем я ожидал: < /p>

Если я начну с рабочей области приложения компаньона и добавлю цель «расширение сафари», то это всегда Создает небольшое приложение заполнителя вместе с расширением. Я не вижу способа добавить расширение в мое существующее приложение. устаревшая кодовая база этого маленького приложения Placeholder, которое создано вместе с расширением Web. Это приложение Placeholder построено на uikit. Мне не ясно, как я могу перенести это приложение uikit, чтобы полностью заменить приложение Swiftui Companion. < /P>
< /li>
< /ul>
Можно добавить расширение к существующему приложению iOS? strong>: < /p>
Я хотел бы ответить на комментарий от @paulw11 и сделать мой вопрос более точным. < /p>
Допустим, я создал Swiftui App. Давайте назовем это «компаньонным приложением». Я хотел бы добавить интернет -расширение в это приложение. Поэтому я выбираю «Добавить цель» -> «Расширение Safari» и выбираю существующее приложение Swiftui Companion в поле «Embed In». в папку "CompanionApp". В «CompanionAppExtension» есть файлы для расширения скелета, есть SafariWexExtensionHandler.swift для связи с расширением, а также есть весь код для минимального приложения uikit. < /P>
, если я строю и запустите этот проект, на симуляторе iPhone он устанавливает приложение Swiftui Companion, а также расширение. Приложение, основанное на uikit, которое было создано вместе с расширением Safari, не установлено. Кажется, что расширение правильно связано с приложением Swiftui Companion. Фактически, в настройках приложение Swiftui Companion указано как приложение расширения, и если я удаляю приложение -компаньон, расширение тоже исчезло. < /P>
Так почему мой вопрос?
потому что у меня все еще есть две отдельные кодовые базы. SafariWexextensionHander.Swift интегрирован в это странное приложение uikit. Я не могу поговорить с расширением веб -сайта из приложения Swiftui. Если я добавлю цель «Safari Extension App», оно создает точно такой же код uikit, но теперь, когда я строю и запускаю, у меня есть два приложения. Приложение Swiftui Companion и это небольшое приложение для заполнителя Uikit. < /P>
Вот несколько скриншотов, чтобы проиллюстрировать сценарий. Это для минимального приложения для песочницы, которое я настроил, Auth с помощью Firebase, Swiftui, Web Advension.
Приложение SwiftuifireBase - это приложение, которое я создал первым. Вот как начался этот проект Xcode. Затем я выбрал «Добавить цель», «расширение Safari» и выбрал встроен в SwiftuifireBase. Тем не менее, есть новая отдельная папка. В этой папке находится SafariwexextensionHandler, который мне нужно общаться с расширением (я выбрал его на скриншоте). Также есть все контент для приложения uikit.

А вот скриншот от симулятора iOS. Он показывает страницу расширения Safari. Он говорит, что приложение - это "swiftuifirebase".

Действительно, кажется, установлено только одно приложение:

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

Подробнее здесь: https://stackoverflow.com/questions/794 ... ng-ios-app
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»