過去
Xcode一直以來都不支援模擬器接收推播
當要測試的時候,僅能使用實機來做驗證
相當麻煩!
條件
註冊通知並請求權限
AppDelegate.swift
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 
 | import UIKitimport UserNotifications
 
 @UIApplicationMain
 class AppDelegate: UIResponder, UIApplicationDelegate {
 
 func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
 registerForPushNotifications()
 return true
 }
 
 func registerNotification() {
 UNUserNotificationCenter.current().requestAuthorization(options: [.alert, .sound, .badge]) { (granted, error) in
 print("\(granted)")
 }
 }
 }
 
 | 
寫一個模擬的通知內容並儲存附檔名為.apns的檔案
Simulator Target Bundle必須要修改為對應的BundleId
| 12
 3
 4
 5
 6
 7
 8
 
 | {"Simulator Target Bundle": "對應的軟體BundleID",
 "aps": {
 "alert": "測試",
 "sound": "default",
 "badge": 1
 }
 }
 
 | 
寫好之後儲存在桌面命名ExamplePush.apns
複製模擬器的UDID

方法1 - 終端機輸入
設備id替換為模擬器的UDID
應用id替換為bundleid
| 1
 | xcrun simctl push 設備id 應用id ExamplePush.apns
 | 
方法2 - 直接拖拉

幹,誰再跟我說Xcode難用
你他媽人家有在進步啦!