Вопрос или проблема
Будучи новичком в iOS, у меня пока недостаточно знаний, чтобы делать что-то подобное.
Я использую Swiftgram (чтобы минимизировать те глупые функции оригинального Telegram, такие как истории).
Кто-нибудь знает, как отключить раздражающую функцию “Картинка в картинке” в Swiftgram? Может, как-то изменить/форкнуть Swiftgram на GitHub и отключить PiP?
(Я привык закрывать видео, смахивая снизу вверх, и хотя интернет говорит, что это было введено давно, я только недавно это получил, и это невероятно раздражает, потому что нет способа это отключить.)
Я нашел местоположение функции PiP. Может кто-то помочь изменить/переписать код, чтобы функция была отключена?
Также я пытаюсь сгенерировать файл .xcodeproj, чтобы работать в Xcode, кто-нибудь знает, как его открыть в Xcode? Насколько я знаю, здесь используется bazel?
Ответ или решение
Для отключения функции "Картинка в картинке" (Picture in Picture, PiP) в приложении Swiftgram, вам нужно будет внести изменения в код приложения. Если у вас недостаточно опыта в iOS-разработке, данный процесс может показаться сложным, однако я постараюсь объяснить его максимально подробно и доступно.
Шаг 1: Клонирование репозитория Swiftgram
Для начала вам необходимо клонировать репозиторий Swiftgram с GitHub на ваш локальный компьютер.
- Убедитесь, что у вас установлен Git. Если нет, загрузите и установите его с официального сайта.
-
С помощью терминала выполните следующую команду:
git clone https://github.com/Swiftgram/Telegram-iOS.git
Шаг 2: Поиск и редактирование кода PiP
Вы уже нашли местоположение кода, относящегося к PiP, по следующей ссылке:
PictureInPictureVideoControlsNode.swift
Теперь вам необходимо отредактировать этот файл, чтобы отключить функцию:
- Откройте файл
PictureInPictureVideoControlsNode.swift
в текстовом редакторе или в IDE, таком как Xcode. - Найдите код, отвечающий за инициализацию и отображение PiP. Вам нужно будет обратиться к элементам, связанным с функциональностью "Картинка в картинке", и закомментировать или удалить их.
Пример изменения:
// Оставляем код без изменений, просто закомментировав строки, которые отвечают за PiP
// func startPictureInPicture() {
// // код запуска PiP
// }
// func stopPictureInPicture() {
// // код остановки PiP
// }
Шаг 3: Сборка проекта с помощью Bazel
Вам необходимо создать Xcode проект, так как Swiftgram использует систему сборки Bazel.
- Перейдите в директорию, где вы клонировали репозиторий.
-
Запустите следующее в терминале для генерации Xcode проекта:
bazel build //:Swiftgram bazel mobile-install //:Swiftgram --ios_device=<device>
Обратите внимание, что вам может потребоваться настроить окружение для работы с Bazel, если вы не сделали этого ранее.
Шаг 4: Открытие проекта в Xcode
После того как проект сгенерирован, вы сможете открыть его в Xcode:
- Найдите сгенерированный проект в папке проекта Swiftgram.
- Дважды щелкните по файлу
.xcodeproj
, чтобы открыть его в Xcode. - После этого вы сможете компилировать и запускать приложение на своем симуляторе или реальном устройстве.
Заключение
После внесения изменений в код и компиляции приложения, функция "Картинка в картинке" должна быть отключена. Не забудьте протестировать приложение, чтобы убедиться, что все изменения применились корректно.
Если у вас возникнут трудности в процессе, полезно обратиться к сообществам разработчиков на таких платформах, как Stack Overflow, или искать инструкции и уроки по iOS-разработке. Успехов вам в работе с Swiftgram!