My-library.info
Все категории

Вандад Нахавандипур - iOS. Приемы программирования

На электронном книжном портале my-library.info можно читать бесплатно книги онлайн без регистрации, в том числе Вандад Нахавандипур - iOS. Приемы программирования. Жанр: Программирование издательство -, год 2004. В онлайн доступе вы получите полную версию книги с кратким содержанием для ознакомления, сможете читать аннотацию к книге (предисловие), увидеть рецензии тех, кто произведение уже прочитал и их экспертное мнение о прочитанном.
Кроме того, в библиотеке онлайн my-library.info вы найдете много новинок, которые заслуживают вашего внимания.

Название:
iOS. Приемы программирования
Издательство:
-
ISBN:
-
Год:
-
Дата добавления:
17 сентябрь 2019
Количество просмотров:
196
Читать онлайн
Вандад Нахавандипур - iOS. Приемы программирования

Вандад Нахавандипур - iOS. Приемы программирования краткое содержание

Вандад Нахавандипур - iOS. Приемы программирования - описание и краткое содержание, автор Вандад Нахавандипур, читайте бесплатно онлайн на сайте электронной библиотеки My-Library.Info
Книга, которую вы держите в руках, представляет собой новый, полностью переписанный сборник приемов программирования по работе с iOS. Он поможет вам справиться с наболевшими проблемами, с которыми приходится сталкиваться при разработке приложений для iPhone, iPad и iPod Touch. Вы быстро освоите всю информацию, необходимую для начала работы с iOS 7 SDK, в частности познакомитесь с решениями для добавления в ваши приложения реалистичной физики или движений — в этом вам помогут API UIKit Dynamics.Вы изучите новые многочисленные способы хранения и защиты данных, отправки и получения уведомлений, улучшения и анимации графики, управления файлами и каталогами, а также рассмотрите многие другие темы. При описании каждого приема программирования приводятся образцы кода, которые вы можете смело использовать.

iOS. Приемы программирования читать онлайн бесплатно

iOS. Приемы программирования - читать книгу онлайн бесплатно, автор Вандад Нахавандипур

Решение

Зарегистрируйтесь для получения уведомлений NSUserDefaultsDidChangeNotification.

Обсуждение

В приложениях, написанных для iOS, файл пакета настроек может быть предоставлен пользователю для внесения собственных настроек. Эти настройки будут доступны пользователю в приложении (Settings) на устройстве. Чтобы лучше понять, как работает этот механизм, создадим пакет с настройками.

1. В Xcode выберите File — New File (Файл — Новый файл).

2. Убедитесь, что слева задана категория iOS.

3. Выберите подкатегорию Resources (Ресурсы).

4. В качестве типа файла укажите пакет настроек (Settings Bundle), а потом нажмите Next (Далее).

5. Назовите файл Settings.bundle.

6. Нажмите Save (Сохранить).


Итак, теперь у вас в Xcode есть файл под названием Settings.bundle. Оставьте этот файл как есть, не вносите в него никаких изменений. Нажмите кнопку Home (Домой) и перейдите в приложение Settings (Настройки). Если вы назовете свое приложение foo, то в окне настроек, показанном на рис. 15.4, также будет указано Foo. (Мое приложение я назвал Handling local System Notifications, это название вы видите на рисунке.)


Рис. 15.4. Пакет Settings.bundle отображается в приложении Settings (Настройки) в симуляторе iOS


Щелкните на имени приложения, чтобы просмотреть, какие настройки в приложении предоставляются пользователю. Нас интересует, когда пользователь вносит изменения в эти настройки, чтобы при необходимости мы могли соответствующим образом изменить внутреннее состояние приложения.

Далее начнем слушать в делегате нашего приложения уведомления NSUserDefaultsDidChangeNotification. Когда приложение завершится, мы, само собой, удалим делегат из цепочки адресатов уведомлений:


#import «AppDelegate.h»


@implementation AppDelegate


— (void) handleSettingsChanged:(NSNotification *)paramNotification{


NSLog(@"Settings changed");

NSLog(@"Notification Object = %@", paramNotification.object);


}

— (BOOL) application:(UIApplication *)application

didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{


[[NSNotificationCenter defaultCenter]

addObserver: self

selector:@selector(settingsChanged:)

name: NSUserDefaultsDidChangeNotification

object: nil];


return YES;

}


— (void)applicationWillTerminate:(UIApplication *)application{

[[NSNotificationCenter defaultCenter] removeObserver: self];

}

@end


А теперь попробуйте изменить некоторые из этих настроек, пока приложение работает в фоновом режиме. Когда закончите, переведите приложение в приоритетный режим — и увидите, что программе доставлено уведомление NSUserDefaultsDidChangeNotification. Объект, прикрепленный к этому уведомлению, будет относиться к типу NSUserDefaults и содержать настройки вашего приложения user defaults.

15.7. Настройка приложения для получения пуш-уведомлений

Постановка задачи

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

Решение

Выполните следующие шаги.

1. Настройте профиль инициализации для вашего приложения, активизировав в нем возможность получения пуш-уведомлений.

2. В приложении зарегистрируйте устройство для получения пуш-уведомлений для этого приложения.

3. Возьмите идентификатор пуш-уведомлений данного устройства для вашего приложения и отошлите этот идентификатор на сервер.

В этом разделе мы поговорим о приложении, применяемом для внесения настроек и регистрации вашего приложения для получения пуш-уведомлений. Серверную часть этой технологии затрагивать не будем, этим вопросам будет посвящен отдельный раздел.

Обсуждение

Пуш-уведомления похожи на локальные уведомления тем, что позволяют сообщать пользователю определенную информацию, даже если ваше приложение неактивно при поступлении уведомления. В то время как локальные уведомления назначаются самим приложением, пуш-уведомления конфигурируются на сервере и отсылаются с него в Apple, а Apple сама раздает эти уведомления на разные устройства, работающие по всему миру. Мы должны выполнять серверную часть работы, поэтому сами составляем пуш-уведомления и отправляем их на серверы APNS (Apple Push Notifications Services). Затем APNS пытается доставлять наши пуш-уведомления по защищенным каналам на устройства, которые зарегистрированы для получения таких уведомлений.

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

Предполагается, что вы уже настроили на портале разработчика ваши сертификаты для разработки и распространения приложения. Чтобы автоматически сконфигурировать сертификаты, можете воспользоваться новой настройкой Accounts (Учетные записи), появившейся в Xcode. Просто перейдите в раздел Xcode Preferences (Настройки), в нем откройте область Accounts (Учетные записи). Добавьте в список учетных записей ваш идентификатор Apple ID, а далее Xcode сконфигурирует сертификаты за вас.

1. Войдите в центр для разработки для iOS.

2. Перейдите в раздел Certificates, Identifiers & Profiles (Сертификаты, идентификаторы и профили) — он расположен справа.

3. В разделе Identifiers (Идентификаторы) создайте для себя новый идентификатор App ID. Он должен иметь валидный Explicit App ID (явный идентификатор приложения), например com.pixolity.ios.cookbook.PushNotificationApp. Обратите внимание: это имя построено по принципу обратной записи домена в стиле, который я выбрал для этого приложения. Выберите такой идентификатор приложения в стиле обратной записи домена, который подходит вам и вашей организации.

4. В разделе App Services (Сервисы приложения) на странице идентификатора приложения убедитесь, что установили флажок для пуш-уведомлений (Push Notifications) (рис. 15.5).


Рис. 15.5. Активизация пуш-уведомлений для App ID


5. Как только вас устроит конфигурация идентификатора приложения (рис. 15.6), отправьте ваш App ID в Apple.


Рис. 15.6. Создание идентификатора приложения с поддержкой пуш-уведомлений


6. После того как настроите все детали конфигурации идентификатора приложения, перейдите в раздел Provisioning Profiles (Профили инициализации) вашего iOS-портала.

7. Создайте профиль инициализации для разработки (Development). Позже вы можете создать и другие профили — Ad Hoc и App Store, так что об этом не волнуйтесь. Когда будете готовы отправить ваше приложение в App Store, можете просто вернуться к этому шагу и сгенерировать профили Ad Hoc и App Store.

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

9. Когда профиль будет готов, скачайте его и перетащите в программу iTunes на своем компьютере, чтобы установить. При установке профиля не делайте двойных щелчков на нем. При двойном щелчке кнопкой мыши имя файла установленного профиля будет сброшено и заменено хеш-именем MD5, по которому файл очень сложно идентифицировать на диске. Если вы аккуратно перетащите профиль в iTunes, то iTunes установит профиль под его оригинальным именем.

10. В Xcode в настройках сборки вашего приложения просто выберите сборку в соответствии с тем профилем, который только что создали. Убедитесь, что при разработке (схема Development) вы используете именно этот профиль, а затем примените в схеме Release (Релиз) профиль App Store или Ad Hoc, созданием которых займетесь позже.

11. Перетащите ваш профиль инициализации в текстовый редактор для OS X — например, в TextEdit. Найдите в файле профиля ключ Entitlements. Весь этот раздел моего профиля инициализации выглядит так:


<key>Entitlements</key>

<dict>

<key>application-identifier</key>

<string>F3FU372W5M.com.pixolity.ios.cookbook.PushNotificationApp</string>

<key>aps-environment</key>

<string>development</string>

<key>get-task-allow</key>

<true/>

<key>keychain-access-groups</key>

<array>

<string>F3FU372W5M.*</string>

</array>

</dict>


12. Создайте новый PLIST-файл для вашего проекта в Xcode, назовите этот файл Entitlements.plist. В Xcode щелкните на этом файле правой кнопкой мыши, выберите Open As (Открыть как) и далее Source Code (Исходный код). Содержимое вашего файла изначально будет выглядеть вот так:


<plist version="1.0">

<dict/>

</plist>


Вандад Нахавандипур читать все книги автора по порядку

Вандад Нахавандипур - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки My-Library.Info.


iOS. Приемы программирования отзывы

Отзывы читателей о книге iOS. Приемы программирования, автор: Вандад Нахавандипур. Читайте комментарии и мнения людей о произведении.

Прокомментировать
Подтвердите что вы не робот:*
Подтвердите что вы не робот:*
Все материалы на сайте размещаются его пользователями.
Администратор сайта не несёт ответственности за действия пользователей сайта..
Вы можете направить вашу жалобу на почту librarybook.ru@gmail.com или заполнить форму обратной связи.