Перейти к содержанию

Mac OS X

Скачать SDK
Пример проекта
Документация по SDK API

Подключение Pushwoosh.framework

Anchor link to

Добавьте Pushwoosh.framework в ваш проект с помощью менеджера зависимостей, вставив следующие строки в ваш podfile или cartfile:

platform :osx, '10.7'
target 'MyApp' do
pod 'Pushwoosh_mac'
end

Кроме того, вы можете просто перетащить фреймворк в раздел Link Binaries With Libraries на вкладке Build Phases вашего проекта.

Добавление библиотек

Anchor link to

На вкладке Build Phases вашего проекта откройте Link Binaries With Libraries и нажмите «Добавить элементы» (кнопка «+»). Найдите и добавьте в проект библиотеки libz.tbd и libc++.tbd:

Связывание приложения с Pushwoosh Control Panel

Anchor link to

В вашем файле Info.plist добавьте ключ типа string Pushwoosh_APPID со значением вашего Pushwoosh Application Code.

Изменение AppDelegate

Anchor link to

Добавьте следующий код в ваш AppDelegate:

import PushKit
import Pushwoosh
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey : Any]? = nil) -> Bool {
// ваш код инициализации
//-----------ЧАСТЬ PUSHWOOSH-----------
NSUserNotificationCenter.default.delegate = Pushwoosh.sharedInstance()?.notificationCenterDelegateProxy
// установите кастомный делегат для обработки push-уведомлений, в нашем случае - view controller
Pushwoosh.sharedInstance().delegate = self
// обработка push-уведомления при запуске приложения
Pushwoosh.sharedInstance().handlePushReceived(aNotification.userInfo)
// регистрация для получения push-уведомлений!
Pushwoosh.sharedInstance().registerForPushNotifications()

Добавьте следующий код в ваш UIApplicationDelegate (в тот же файл, что и выше).

// колбэк успешной системной регистрации push-уведомлений, делегируется в PWMessagingDelegate
func application(_ application: NSApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
Pushwoosh.sharedInstance()?.handlePushRegistration(deviceToken)
}
// колбэк ошибки системной регистрации push-уведомлений, делегируется в PWMessagingDelegate
func application(_ application: NSApplication, didFailToRegisterForRemoteNotificationsWithError error: Error) {
Pushwoosh.sharedInstance()?.handlePushRegistrationFailure(error)
}

Для обработки push-уведомлений добавьте следующую функцию в ваш UIApplicationDelegate (в тот же файл, что и в трех шагах выше):

// это событие срабатывает при получении push-уведомления
func pushwoosh(_ pushwoosh: Pushwoosh!, onMessageReceived message: PWMessage!) {
print("onMessageReceived: \(String(describing: message.payload))")
}
// это событие срабатывает, когда пользователь нажимает на уведомление
func pushwoosh(_ pushwoosh: Pushwoosh!, onMessageOpened message: PWMessage!) {
print("onMessageOpened: \(String(describing: message.payload))")
}

Включение Push-уведомлений

Anchor link to

Перейдите в Signing and Capabilities в вашем target. Нажмите + Capability и добавьте Push Notifications.