我开发了Apple Watch应用程序以与iOS配套应用程序配合使用,当iOS应用程序位于前台或后台时,一切正常。而我现在要做的就是我希望Apple Watch应用程序将终止的iOS应用程序唤醒后台执行一些简单的任务,然后iOS应用程序可以再次返回终止状态。为此,我尝试了以下内容:
import WatchConnectivity
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate, WCSessionDelegate{
func applicationWillTerminate(application: UIApplication) {
// Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
if #available(iOS 9.0, *) {
if(WCSession.isSupported()){
session = WCSession.defaultSession()
session.delegate = self
session.activateSession()
}
}
self.saveContext()
}
func session(session: WCSession, didReceiveMessage message: [String : AnyObject]) {
startUpCentralManager()
}
}
但是,手动终止应用后没有任何反应。有人可以告诉我我错过了哪一部分?我已经在plist和apps功能中设置了BackGround模式。
更新: 我现在能够将应用程序从终止唤醒到后台并连接到设备。但我想知道为什么我不能用以下代码行发送消息:
var outbuffer1 = [UInt8]()
outbuffer1.append(0x01)
outbuffer1 += [UInt8](selectedPassword.utf8)
let data1 = NSData(bytes: outbuffer1, length: 7)
connectingPeripheral.writeValue(data1, forCharacteristic: characteristic, type: CBCharacteristicWriteType.WithResponse)