Ответы пользователя по тегу iOS
  • Как конвертировать сайт в мобильное приложение iOS?

    ivanvorobei
    @ivanvorobei
    iOS разработчик, канал https://t.me/sparrowcode
    Выше Евгений предложил сделать обертку. Не тратье на это время - такое приложение не пройдет в стор.
    Приложения с вебвью не проходят ревью под разными предлогами, в Гайдах для этого есть отдельный пункт.

    Конвертировать не получится. Да и вообще - кросс разработка это зло, работает отвратительно.

    Пишите классическое приложение, он не выйдет супер дорогим. Большую часть потянет бек, но если у вас он уже готов - не так много остается;
    Ответ написан
    2 комментария
  • Рекомендации по публикации SPA (Cordova) в App Store?

    ivanvorobei
    @ivanvorobei
    iOS разработчик, канал https://t.me/sparrowcode
    Проблема не в нативе, а в скудном функционале приложения.
    Решение - увеличить объем функционал.

    Если я ошибаюсь и функционала много, добавьте элементы навигации. Это решает проблему с веб-вью.
    Ответ написан
    Комментировать
  • Swift Как установить локальные уведомления каждый день, кроме сегодня?

    ivanvorobei
    @ivanvorobei
    iOS разработчик, канал https://t.me/sparrowcode
    Вам нужно выставить уведомления вручную, без репитера с кастомными тригерами.
    Не забывайте про ограничение количества локальных уведомлений.
    Ответ написан
    Комментировать
  • Как обновить Realm в реальном времени в UICollectionViewCell и отобразить результат на экране?

    ivanvorobei
    @ivanvorobei
    iOS разработчик, канал https://t.me/sparrowcode
    Ангелина, здравствуйте!

    Начну с насущного, огромное количество кода и текста не способствует ответам на ваш вопрос. Настоятельно советую в будущем локализовать проблему, и каждую проблему оформлять как один вопрос.

    Перейдем к проблеме.

    У меня есть кастомная ячейка в UICollectionViewController


    Ячейка, которая контроллер-коллекция? Наверное, вы неправильно скопировали название класса. Дальше буду говорить будто ваша ячейка UICollectionViewCell.

    Не увидел в ячейке привязку таргета к кнопке, но уверен она где то есть. Система переиспользования сломает вам работу с таргетами. Убирайте их в методе подготовки и конфигурируете заново.

    Вы перезагружаете коллекцию в методе viewWillAppear, так делать не нужно.

    возможно ли как-то заменить reloadData() в collectionViewController на коллбэки от dataSource и delegate

    Очень странный вопрос, кони, люди... Переформатируйте, постараюсь ответить.
    Но вообще reloadData это форсированная перезагрузка, Возможно вы хотите анимированные изменения, тогда посмотрите на мою библиотеку SPDiffable и туториал по ней. Так же крутой инструмент - обсервер данных риалма, работает из коробки.

    Если же вы хотите обновлять данные в ячейке, вам нужно воспользоваться методом cellForRow, и развернуть ячейку с нужным классом.
    Ответ написан
    Комментировать
  • Как сделать несколько background в Xcode?

    ivanvorobei
    @ivanvorobei
    iOS разработчик, канал https://t.me/sparrowcode
    Вам нужно разбить задачу на подзадачи. Давайте сформулируем:

    1. Как установить цвет фона перед показом контроллера
    2. Как устанавливать фон для контроллера
    3. Как менять фон у контроллера
    4. Как сменить фон по событию


    Теперь стало понятно что ваш вопрос состоит из нескольких, а значит хорошо бы их разбить. Но как написали, так написали. Давайте погружаться.

    Как установить цвет фона перед показом контроллера?
    Дефолтные значения настраиваются в методе viewDidLoad. Вы правило подозревали в вопросе.

    Как устанавливать фон для контроллера?
    Вы можете установить фон к корневого вью. Но я бы предложил вариант с UIImageView, растянутой к краям родителя и установкой image. Это может в каком-то смысле инкапсулировать логику фона и заменить класс на более интересный/сложный в будущем.

    Как менять фон у контроллера?
    Чтобы менять фон, нужно иметь доступ к контейнеру картинки. К примеру вы сделали проперти backgroundImageView, тогда изменить image не составит труда:
    class ViewController: UIViewController {
       var backgroundImageView = UIImageView()
    
       func viewDidLoad() {
          super.viewDidLoad()
          backgroundImageView.image = UIImage()
       }
    
       func changeBackground() {
          // Пример смены фона по вызову функции. Объект UIImage должен быть ваш, для примера пустой.
          backgroundImageView.image = UIImage()
       }
    }


    Как сменить фон по событию?
    Нужно определить само событие. Если кнопка - тогда по таргету. Запись в БД - обсервер. Возможно подойдут системные нотификации, но вы с ними поосторожнее. В любом случае по любому из ивентов вы вызовете функцию, и в этой функции достаточно будет вызывать код из предыдущего вопроса.

    P.S. Ваш вопрос очень тривиален, и, если честно, именно поэтому на нем нет ответов. Вам стоит изучить основы, и после перейти к практическим задачам.
    Ответ написан
    Комментировать
  • Как в мобильном приложении сделать возможность загрузки фото из Инстаграм?

    ivanvorobei
    @ivanvorobei
    iOS разработчик, канал https://t.me/sparrowcode
    Вы можете пойти двумя путями, через API или парсер страницы.

    API:
    Мало кто получает релизный токен от инсты, шансов пройти ревью я считаю нет. Сколько не пытался, выглядит как автоматическое отклонение. Успешных историй прохождения ревью тоже нет.

    Парсер:
    Все тривиально, открываете страницу на клиенте, разбирайте ее и берете ссылку. Дальше вы знаете что делать.

    Обратите внимание что у команды проверки Apple так же могут появится вопросы к приложению.
    Ответ написан
    4 комментария
  • Какие современные интерфейсы есть под мобильные приложения?

    ivanvorobei
    @ivanvorobei
    iOS разработчик, канал https://t.me/sparrowcode
    Вам нужна нативная разработка. Используйте системные библиотеки. У эпла и андроида есть рекомендации по дизайну.

    У эпла достаточно разумно использовать элементы из UIKit, чтобы сделать нативно и адаптивно под все устройства.

    Если это ваш первый опыт, советую найти проектировщика интерфейсов. Он сразу сделает как нужно для разработчика (чтобы разработчик потом не плакал от ужасов кастомизации)
    Ответ написан
    Комментировать
  • Как обновить view с переданными данными?

    ivanvorobei
    @ivanvorobei
    iOS разработчик, канал https://t.me/sparrowcode
    Вам не нужно использовать viewDidLoad для обновления вообще. Это метод жизненного цикла.

    Опишите какую вью хотите обновить - таблицу, просто вью, бар? По какому ивент - что триггер? Напишите это в вопросе, после дополню ответ.

    UPD:
    У вас по нажатию на первом таббаре открывается второй?) Так не делается. Видимо вы совсем начинающих... Изучите гидлайны по проектированию интерфейсов. Там буквально 10 страниц с картинками, отдельно есть про TabBar. У меня есть видео про иконки таб-бара.

    Чтобы обновить коллекцию, нужно использовать reloadData, performBatch или apply в зависимости как вы установили dataSource. Вы начинающий, скорее всего через reloadData все будет работать.

    Чтобы обновить просто вью - используйте тригеры. Делегаты, нотификации. По ивенту устанавливать текст/картинку.
    Ответ написан
    1 комментарий
  • Как объединить сториборды в Xcode?

    ivanvorobei
    @ivanvorobei
    iOS разработчик, канал https://t.me/sparrowcode
    Если над сторибордами работают разные люди, то делать разные сториборды. Ничего плохого в этом нет.
    Я в командной работе предпочитаю избегать работу со сторибордами - онли код.
    Ответ написан
  • Как загрузить приложение на IOS которое никогда не пройдет верификацию?

    ivanvorobei
    @ivanvorobei
    iOS разработчик, канал https://t.me/sparrowcode
    Но они так же должны проходить верификацию.

    Проходят. Только модерация затрагивает не приложения, а компанию. Если все ок - выдают сертификат и можно распространять приложения (как бы не любые, но любые) без ограничений.
    Все как на видео - ставится сертификат, загружается приложение.
    Ответ написан
    5 комментариев
  • Сколько должно пройти времени между публикацией приложения в app store (iOS), и появлением его в поиске?

    ivanvorobei
    @ivanvorobei
    iOS разработчик, канал https://t.me/sparrowcode
    Самое раннее, заставал приложение по запросу через 4 часа. Самое позднее - 6 дней.

    Но учтите систему ранжирования, если проверяете по высокочастотному запросу, приложение может не выдаваться по нему (или быть далеко в конце). Если не уверены в запросе, добавьте приложение на трекер - подскажет позицию.

    Если в запросе уверены, но приложения все равно нет - убедитесь что правильный ключ и ждать появления.
    Ответ написан
    2 комментария
  • Где я могу изучить с нуля и качественно iOS-разработку, Swift, Xcode?

    ivanvorobei
    @ivanvorobei
    iOS разработчик, канал https://t.me/sparrowcode
    Канал веду, можешь заглянуть
    Ответ написан
    Комментировать
  • Можно ли получать данные из бд (joomla) в приложении?

    ivanvorobei
    @ivanvorobei
    iOS разработчик, канал https://t.me/sparrowcode
    Просто так получить базу данных нельзя. Магии не существует

    Вы можете:
    • Целиком загружать базу в клиент, если клиент сможет открыть этот файл. Есть бд, которые не поддерживаются на клиентах. Это костыль.
    • Сделать стандартизированный ответ, в вашем примере JSON. Конечно, лучше использовать этот подход. БД не отдаст готовый JSON, вам нужно пройтись по модели БД, сформировать JSON. Дальше парсите его на клиенте.
    Ответ написан
    Комментировать
  • Передача данных между VC обратно?

    ivanvorobei
    @ivanvorobei
    iOS разработчик, канал https://t.me/sparrowcode
    Кнопка нужна чтобы инициировать переход на след. контроллер. Чтобы передать данные между двумя контроллерами вам нужно разбить задачу на передачу их в новый контроллер, и отображение новых данных во втором контроллере. С какой из двух подзадач проблемы?

    Вижу вы совсем начинающий, здесь не принято писать вопросы в духе "не знаю в чем проблема и вообще сделайте я разберусь". Сформулируйте проблему, покажите что вы сделали и какое поведение ожидали.
    Сообщество дружное, обязательно поможет.
    Ответ написан
    Комментировать
  • Возможно ли оттестировать APNs без покупки devAccount?

    ivanvorobei
    @ivanvorobei
    iOS разработчик, канал https://t.me/sparrowcode
    Без аккаунта сгенерировать не получится.
    Ответ написан
  • Как конвертировать jpg изображение в 2х и в 3х?

    ivanvorobei
    @ivanvorobei
    iOS разработчик, канал https://t.me/sparrowcode
    Это скейл изображения. Если холст был 100x100, то x2 это 200x200.
    Чтобы добавить скейлы - жмите плюсик вверху. PNG поменяйте на нужный формат.
    5ebd9933a3b60464075324.png

    UPD. Нашел в своем ролике инструкцию как использовать вектор в медиа, если у вас есть вектор. Ссылка на ролик
    Ответ написан
  • Как автоматизировать установку фото из приложения как обои для ios устройства?

    ivanvorobei
    @ivanvorobei
    iOS разработчик, канал https://t.me/sparrowcode
    Нельзя поставить картинку на фон из приложения.
    Ответ написан
    Комментировать
  • Где учиться IOS Разработке?

    ivanvorobei
    @ivanvorobei
    iOS разработчик, канал https://t.me/sparrowcode
    Записываю уроки, скоро туториал по локализации.
    Канал тут.
    Ответ написан
    Комментировать
  • Как создать ID пакета в App Store connect?

    ivanvorobei
    @ivanvorobei
    iOS разработчик, канал https://t.me/sparrowcode
    Вам нужно зарегистрировать нужный ID на портале идентификаторов. Здесь же вы настраиваете разрешения приложения - пуши, покупки, CloudKit.
    Xcode по сути меняет поля именно здесь.
    Ответ написан
    Комментировать