привет
Перед обновлением Xcode до версии 7.3 у меня было приложение с приложением WatchOS 2. Приложение часов вызывало func session(session: WCSession, didReceiveUserInfo userInfo: [String : AnyObject]) {
, а приложение iOS выбирало вызов и вставляло переданное значение. Все было хорошо.
Но после обновления до Xcode 7.3 я заметил одну проблему: func session(session: WCSession, didReceiveUserInfo userInfo: [String : AnyObject]) {
вызывается дважды ТОЛЬКО, когда приложение iOS запускается в первый раз, если приложение работает или находится в фоновом режиме, эта функция позвонили только один раз.
Если я передаю значения 1, 5 и 10, а приложение iOS не запущено, добавляются значения 1, 5, 10, 1, 5 и 10. Но если приложение работает в любой форме, добавляются значения 1, 5 и 10.
Есть идеи, почему?
Вот код со стороны WatchOS, я сам до этого додумался, но по моим тестам они вызываются только один раз. Я провел много тестов, и это происходит только тогда, когда приложение iOS запускается, а не когда оно работает в фоновом режиме.
@IBAction func ConfirmButtonPressed() {
let applicationDict = ["Amount out": self.AmountText ]// Create a dict of application data
//applicationDict = ["status": "0" ]// Create a dict of application data
WCSession.defaultSession().transferUserInfo(applicationDict)
}
Вот код приложения iOS из делегата приложения
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
if (WCSession.isSupported()) {
print("xyz3")
session = WCSession.defaultSession()
session.delegate = self
session.activateSession()
}
..........
func session(session: WCSession, didReceiveUserInfo userInfo: [String : AnyObject]) {
var status = false
var AmountUILabel = ""
status = false
AmountUILabel = userInfo["Amount out"] as! String
print(userInfo["Amount out"] )
let i = NSString (string: AmountUILabel ).doubleValue
let when = NSDate()
let list :[AnyObject] = controller.viewControllers!
let j = list[1].topViewController as! AllEntriesTableViewController
j.AddAmount(i , date: when, what: "---", status: status)
}