Ответы пользователя по тегу iOS
  • Swift 3.0 Core Data - фоновое обновление?

    @sojik
    Вам надо настроить в проекте возможность Background Fetch
    Затем реализовать один метод - application(_:performFetchWithCompletionHandler:) - который будет побыстрому запрашивать обновленные данные с сервера
    Более подробно здесь - https://www.raywenderlich.com/92428/background-mod... - раздел про Background fetch
    Сама логика обновления уже зависит от вас. Например, если у вас чат, то вы запрашиваете сообщения больше id которые уже в базе. Или сообщения, дата которых больше тех, что уже в базе. Обычно тот же запрос, который вы используете при старте приложения, чтобы обновить данные, вы можете засунуть и в этот запрос. Но надо иметь ввиду, что телефон сам выбирает, когда запрашивать обновление данных - это могут быть каждый 10 минут, а могут быть и часы.
    То есть еще раз. Ваш телефоно в бэкграунде обращается к Core Data и выясняет дату последних данных, или id или еще чего. На основе этого запрашивает новые данные у вашего сервера. Полученные данные разбирает и складывает в Core Data и снова укладывается спать, до следующего пробуждения системой.
    Ответ написан
    Комментировать
  • Что я делаю не так при подключении фреймвоков через Cocoapods в iOS?

    @sojik
    Видимо вы делаете неправильно все )) не пожалел времени, хотя у меня 0-50 уже и взял пустой проект на ObjC, Xcode 7.0.1, El Captain и добавил полностью ваш Podfile, только у меня он имеет вид

    source 'https://github.com/CocoaPods/Specs.git'
    platform :ios, "7.0"

    target 'testNewCoreData' do
    pod 'Fabric'
    pod 'Crashlytics'
    pod 'SDWebImage', '~> 3.7'
    pod 'SVProgressHUD', '~> 1.1'
    pod 'TPKeyboardAvoiding', '~> 1.2'
    end

    затем пришлось сделать стандартные
    sudo gem install cocoapods
    pod install

    собрался workspace
    я добавил AppDelegate строчки

    #import <Fabric/Fabric.h>
    #import <Crashlytics/Crashlytics.h>

    и
    [Fabric with:@[CrashlyticsKit]];

    все прекрасно собирается. Рекомендую проделать все то же, что и я.
    Если не получится - попробовать удалить cocoapods из проекта и снова попытаться их поставить.

    вот тут выложу сейчас свой тестовый проект, чтобы вы посмотрели как они видятся у меня. Только придется pod install после скачки и распаковки )
    https://www.dropbox.com/s/c7bnn8jhugx4q2r/testNewC...
    Ответ написан
    1 комментарий
  • C чего начать изучать Swift?

    @sojik
    Если вы хотите начать программировать именно на Swift - то карты вам в руки ) Ничто не мешает начать именно с него, как с первого вашего языка для iOS. На iTunеs U есть хороший курс на русском языке, который читает Сергей Пронин. Я его сам смотрел, мне очень понравилось, что очень мало воды - все четко и ясно. Второй позитивный момент это то, что в для Swift в Xcode не надо создавать проект, вы открываете Playground и начинаете кодить прям сразу, чтобы изучить язык и его конструкции.

    Для начала этих двух ссылок вам должно хватить
    Это перевод официальной книги по Swift - swiftbook.ru/doc
    Это тот самый курс - https://itunes.apple.com/ru/course/razrabotka-ios-...

    Теперь о плохом :) Swift очень молодой язык и постоянно меняющийся, вам как новичку может быть не понятно, почему синтаксис так быстро и сильно меняется от версии 1 до 1.2 и затем до 2.0. Второй момент, скажу вам как человек, который уже полгода пишет большой проект на Swift - это порой сложно даже для меня: довольно медленная компиляция, плохое описание ошибок, различные сложности работы с 3rd party объектами И так далее итп. Не даром все ведущие разработчики сегодня пока еще открещиваются от перевода своих проектов в продакшене на Swift. Но если у вас есть уже какая-то своя задумка несложного первого приложения, то я думаю - стоит начать )
    Ответ написан
    1 комментарий
  • Почему не удается отучить UIWebView обращаться к локальному кэшу во время повторной загрузки одной и той же веб-страницы?

    @sojik
    А попробуйте в пункте 2 сделать еще и вот так

    [[NSURLCache sharedURLCache] removeAllCachedResponses];
    [[NSURLCache sharedURLCache] setDiskCapacity:0];
    [[NSURLCache sharedURLCache] setMemoryCapacity:0];

    говорят, иногда помогает )

    ЗЫ коллега, ну и тэги вы поставили ) вас никто так не найдет )
    Ответ написан