Задать вопрос
Контакты

Достижения

Все достижения (3)

Наибольший вклад в теги

Все теги (22)

Лучшие ответы пользователя

Все ответы (47)
  • Как распространяются и передаются приложения iOS, если я хочу отдать клиенту на проверку?

    maestrro712
    @maestrro712
     iOS Developer
    Вам нужно сделать следующее:

    1. Получить от клиента UDID его устройств (можно почитать здесь: whatsmyudid.com )
    2. Зарегистрировать эти айдишники на developer.apple.com (Account > Certificates,identifiers&profiles > Devices)
    3. Там же в разделе Provisioning profiles поменять профиль, под которым вы собираете приложение, поставив галочки напротив нужных устройств
    4. Скачать и установить профиль (просто двойной щелчок мыши, откроется xcode, но ничего вам не скажет)
    5. В окне экспорта (на вашем скриншоте) выбрать Ad Hoc и экспортировать с новым профилем
    Ответ написан
    Комментировать
  • Как сделать фотографию программно, не вызывая камеру?

    maestrro712
    @maestrro712
     iOS Developer
    Это можно сделать, но только когда приложение активно. Работу с камерой надо вести через AVFoundation. Тема довольно сложная, чтобы ее сейчас расписывать, погуглите "AVFoundation capture session"
    Ответ написан
    Комментировать
  • Нужно ли дизайнеру мобильных приложений уметь верстать дизайн под платформу ios/andoroid?

    maestrro712
    @maestrro712
     iOS Developer
    Мне, как разработчику, удобно, если дизайнер знает технические особенности отдельных элементов. К примеру, расположить иконку для кнопки размером 20х20 пикселей на прозрачном холсте 40х40 пикселей, чтобы мне после вставки маленькой картинки в кнопку не приходилось расширять активную область вручную. Неплохо еще, если дизайнер представляет примерно как работает autolayout. Еще как iOS разработчик каждый раз хочу убить дизайнера, рисующего такие границы, которые дробно масштабируются на Retina дисплеи.
    А по поводу отдачи в готовый файл интерфейса - я думаю это лишнее. Во-первых, в файле интерфейса есть чисто программерские вещи: аутлеты, теги, runtime атрибуты. В условиях ускоренной разработки, когда дизайнер и девелопер какое-то время работают параллельно, придется свой файл интерфейса просто выкинуть и все настраивать заново. Во-вторых, на моей практике, часто применяется смешанный подход, когда часть элементов грузятся из интерфейснго файла, а часть - из кода.

    P.S. Это конечно мои хотелки как девелопера, уверен что истина где-то посередине:)
    Ответ написан
    1 комментарий
  • Почему такая долгая инициализация UILabel?

    maestrro712
    @maestrro712
     iOS Developer
    Давайте разберемся со всем по порядку:

    1. Инициализация UILabel происходит во время загрузки view из xib'a и происходит это задолго до того, как вы введете текст :)

    2. Изходя из первого пункта, я думаю, вы хотели спросить, "почему ответ появляется так поздно?".
    Тут уже все сказал ManWithBear . Лишь дополню, как это должно выглядеть:
    DispatchQueue.main.async { [weak self] in
        self?.label.text = temp
    }


    3. Ну и в конце хочется дать несколько рекомендаций по код-стайлу:
    а) писать именно weakSelf не стоит. просто [weak self] отлично работает. В такой ситуации код читается легче и подсветка синтаксиса работает корректнее;
    б)методы с большой буквы не называют
    в)если вам надо извлечь несколько optianal'ов подряд, это можно делать в одном операторе if:
    if let source = parsedObject as? [String: Any], let text = source["text"] as? [String] {
        for temp in text {
            print(temp)
            self?.label.text = temp
        }
    }
    Ответ написан
    Комментировать
  • Как реализовать фоновое выполнение задач?

    maestrro712
    @maestrro712
     iOS Developer
    У iOS приложений весьма жесткий подход к background режиму. Для ваших задач действительно подходит Background fetch. Однако есть 2 момента:

    1. система сама выбирает переодичность запуска приложения. Вы можете повлиять на ее "предпочтения", делая запрос как можно быстрее, и возвращая сообщение, что вы скачали новые данные.
    2. приложение, которое пользователь убил руками (выкинул из трея) не будет запускаться для фетча совсем.

    Из-за всего этого, правильный подход - когда сервер оповещает приложение по средствам пушей, а не приложение само проверяет данные.
    Ответ написан
    Комментировать

Лучшие вопросы пользователя

Все вопросы (1)