2015-04-21 44 views

回答

0

你的基本目標,我認爲,是要確保含應用程序知道當它的蘋果WatchKit應用擴展程序已崩潰。

您可以通過獲取Watchkit擴展來定期發送包含應用程序訂閱的Darwin通知。然後,當包含的應用程序在某些超時限制內沒有收到來自擴展程序的消息時,它知道WatchKit擴展程序崩潰。這是我知道實現這個最輕量級的方式。

另一種方法是使WatchKit應用信息定期調用:

+ (BOOL)openParentApplication:(NSDictionary *)userInfo 
     reply:(void (^)(NSDictionary *replyInfo, 
         NSError *error))reply 

這是不是輕量級的,但允許你提供一些詞典數據,如時間戳值或序列號的優勢。

0
class MainInterfaceController: WKInterfaceController {  

    override init() { 
     // Initialize variables here. 
     super.init() 
    } 


    override func willActivate() { 
     // This method is called when watch view controller is about to be visible to user 
     super.willActivate() 

     let sharedDefaults = NSUserDefaults(suiteName: "group.com.example.myApp")! 

     let isForeground = sharedDefaults.boolForKey("foreground") 
     ... 

    } 

    override func didDeactivate() { 
     // This method is called when watch view controller is no longer visible 
     super.didDeactivate() 
    } 

} 
+2

在發生崩潰事件AFAIK時,將不會調用這些方法。 – bgilham

相關問題