Рубрика «iOS SDK» - 2

Не нашел ни одного актуального гайда по работе с websocket в Xcode, вот мой опыт, надеюсь какому-то новичку поможет, и он не потратит столько времени в поисках как я.

Для подключения по websocket мы будем использовать SocketIOClientSwift

Скачать можно тут.

Установка там тоже в принципе описывается, но для тех кто совсем в танке расскажу, что есть простой способ, просто добавьте файлы из папки source в свой проект.

В нашем примере мы будем получать тикеты из системы технической поддержки которая работает на node.js
Читать полностью »

Новый Office 365 как платформа для разработчиков под Windows, Android, iOS и Web

В календаре евангелиста Microsoft TechEd всегда отмечен особенно, потому что эта конференция о будущем как компании, так и индустрии в целом. TechEd Europe 2014, который состоялся на прошлой неделе в Барселоне, как и ожидалось, полон анонсов и новых решений, при этом главная для меня новость связана с Office 365.

Во-первых, OneDrive для пользователей Office 365 стал безлимитным и без дополнительной платы.

Во-вторых, добавится новый и очень важный для безопасности данных бизнесса функционал Built-in Mobile Device Management (MDM) for Office 365. MDM позволит IТ администраторам централизованно управлять смартфонами и планшетами, включая iOS, Android и Windows Phone. Данный функционал будет доступен в первом квартале 2015 года.

Но самая долгожданная новость связана именно с разработкой под Office 365. Команда разработчиков платформы выразила это в одной фразе:

Write once, run anywhere

Читать полностью »

Как многие читали в книгах, в языке Objective-C изначально есть два корневых класса — NSObject и NSProxy. И если на первом основано практически все и с ним невозможно не столкнуться, то вторым пользуются значительно реже. В этой небольшой статье я опишу те применения этого класса, которые приходилось использовать мне.
Читать полностью »

image

Привет!

Я не сомневаюсь, что многие из нас вчера смотрели презентацию WWDC 2014 от Apple. Были представлены новая операционная система OS X Yosemite, а так же iOS 8. Но главное, чем наверное взбудоражило Apple программистов во всем мире, так это новым языком — Swift!

Swift является новым инновационным языком программирования для Cocoa and Cocoa Touch с еще более кратким и выразительным синтаксисом, с помощью которого приложения пишутся молниеносно. Это делает написание кода интерактивнее и веселее, и работает бок о бок с Objective-C. По словам Федериги, некоторые функции Swift работают быстрее, чем в других объектно-ориентированных языках: например, сортировка сложных объектов происходит в 3,9 раза быстрее, чем в Python, и почти в полтора раза быстрее, чем в Objective-C.
Читать полностью »

До IOS 7, разработчики были довольно ограничены в том, что они могут сделать, когда их приложения оставались в фоновом режиме. Помимо VOIP и геолокационных функций, единственный способ для выполнения кода в фоновом режиме было использование фоновых задач, ограниченных к управлению в течении нескольких минут. Если вы хотели загрузить большое видео для просмотра в офф-лайн режиме, или сохранять фотографии пользователя на сервер, вы могли бы выполнить только часть работы.

IOS 7 добавляет два новых API-интерфейса для обновления пользовательского интерфейса вашего приложения и контента в фоновом режиме. Первый, Background Fetch (доставка в фоне или обновление фона), позволяет получать новый контент из сети через регулярные промежутки времени. Второй, Дистанционные Уведомления (Remote Notifications), это новая функция использует Push-уведомления, чтобы уведомить, когда произошло событие. Оба этих новых механизма помогают Вам сохранить интерфейс вашего приложения в актуальном состоянии, и могут планировать работу над новой Фоновой службой передачи, что позволяет выполнять вне — процесса передачи данных по сети (загрузка и передача).

Background Fetch и Удаленные Уведомления простые зацепки приложений каждые 30 секунд времени для выполнение работы пока Ваше приложение не приостановится. Они не предназначены для процессорной интенсивной работы или длительных задач, скорее, они для очередного давно запущенного запроса сети, как скачивание большого фильма или выполнения быстрых обновлений содержимого.

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

Читать полностью »

В данном посте речь пойдет о способе аутентификации человека по динамике написания рукописного пароля (подписи). В последнее время к этому направлению проявляется огромный интерес, и связано это в первую очередь с распространением мобильных устройств с сенсорными экранами. Согласитесь, было бы здорово получить по почте документ, открыть его, пальцем нарисовать свою подпись и отправить адресату. При этом документ будет иметь юридическую силу. За рубежом – это уже давно реальность. В России пока доверяют подписанному бумажному документу, либо электронному документу с официально зарегистрированной ЭЦП.

Существенным недостатком ЭЦП является то, что она может быть передана другому лицу, т.е. в отличие от традиционной подписи она является отчуждаемой от своего владельца. При этом будет сохраняться юридическая значимость документов подписанных ЭЦП посторонним лицом, что в некоторых случаях может оказаться недопустимым. Если же объединить ЭЦП и биометрическую подпись в электронном документообороте, то можно решить проблему неотчуждаемости юридически значимой ЭЦП от её владельца!

image
Читать полностью »

Пожалуй, большинство iOs разработчиков знают, что для реализации различных визуальных эффектов, обычно, достаточно нескольких строчек кода. Фреймворк UIKit, отвечающий за стандартный интерфейс, имеет встроенные средства, позволяющие делать довольно изощрённые виды анимации — от перемещения по прямой, до эффекта переворачивания страницы. Однако, для перемещения наследников UIView по более сложной траектории, приходится спускаться ниже и переходить на уровень фреймворка Core Graphics. При этом, количество примеров в сети снижается и бывает сложно найти необходимое. А если и находится, то качество реализации, зачастую, оставляет желать лучшего. С такой ситуацией я и столкнулся, когда возникла необходимость сделать анимацию интерактивной книги для детей.

Читать полностью »

Какое-то время назад я решил перепрофилироваться на разработчика пол iOS, и решил систематизировать материал. Так сказать, составить свой roadmap. Получился некий обзор, которым я хотел бы поделиться с вами.
Данный обзор не претендует на полноту, непогрешимость и истину в последней инстанции.

Итак, вы приобрёли iPhone или iPad. Чудесные устройства, не правда ли? Какое-то время спустя пришла мысль “а не создать ли мне под него программу, которая завоюет мир?”. Я расскажу вам, с чего начать.
Читать полностью »

Привет, друзья!

Если вы создаете приложения для гаджетов от Apple, то наверняка в курсе, что недавно произошло обновление iOS до версии 6.
Наравне с другими новыми функциями Apple внесла изменения в механизм autorotation.
На всякий случай напомню, что autorotation — это механизм, позволяющий использовать устройство как в портретной (вытянутой в высоту), так в альбомной (растянутой в ширину) ориентации, а также изменять эту ориентацию при повороте устройства.
image
Если в вашем приложении контент отображается в обеих ориентациях (а особенно если на некоторых экранах вам нужно запретить поворот) — готов поспорить, что у вас уже возникли некоторые вопросы.
Если же вы не используете функцию изменения ориентации экрана — разницы могли и не заметить. Однако знание того, как в iOS6 работает autorotation, в любом случае будет полезно и пригодится в будущем.
Читать полностью »

Из этой главы, да и из всей этой книги понятно, что самые лакомые куски программирования под iOS включены в публичные фреймворки, но не в SDK. Неофициальная политика Apple насчет этого проста: вы можете всё это использовать, но только на свой страх и риск. Ваш код может сломаться при следующем обновлении прошивки. Вам самим придётся искать компромисс между риском и прибылью.

Erica Sadun, The iPhone Developer's CookBook

Оригинал

As you’ve seen in this chapter, and throughout this book, some of the nicest bits of iPhone programming are included in the public iPhone frameworks but not in the SDK. Apple’s unofficial policy on this is clear:You can use these items in your programs, but you do so at your own risk.Your code may break at each firmware release. Striking the balance between risk and reward is up to you.

Дисклеймеры

  • Приведенные здесь куски кода работают на обычных iPhone (включая 4S) и iPad (включая new iPad) и не требуют jailbreak.
  • Все решения написаны и протестированы на iOS 5. Все решения также протестированы на совместимость с iOS 4.3, т.е. работают с iOS 4, если не сказано обратное. Основная часть статьи была написана до выхода iOS 6, так что приведенные решения не тестировались на совместимость с iOS 6.
  • Использование недокументированных API может привести к тому, что ваше приложение не допустят в AppStore. А может и не привести :-)
    Для тех, кому интересно, как Apple опрделяет использование приваетных API:«Как Apple узнаёт, что ты используешь приватные API?»
  • Apple может изменить реализацию вместе со следующим релизом iOS, и в вашем коде что-то сломается. Впрочем, это решаемо, и ничем принципиально не отличается от реализации обратной совместимости для документированных API. Ниже я рассмотрел эту проблему чуть подробнее.
  • Я не могу гарантировать, что у найденных мной API нет побочных эффектов. Используйте на свой страх и риск.
  • Лицензионное соглашение Apple Developer Program запрещает реверс-инжинеринг iOS.
  • Статья в процессе доработки. Конструктивная критика приветствуется!

Краткая инструкция по поиску в SDK

Допустим, вам нужно сделать что-то, выходящее за рамки официальной документации. Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js