Ich möchte Daten von meinem iOS App auf meine watchOS 3 AppWKWatchConnectivityRefreshBackgroundTask Beispiel
mit WKWatchConnectivityRefreshBackgroundTaskpassieren, wie ich Code in meinem watchOS App einrichten Sie die Daten zu handhaben übertragen werden?
Denn ich Beispiel in der Vergangenheit diesen iOS-Code verwendet, um eine Nachricht aus dem iOS App zu senden und wenn es keine Verbindung einen Kontext senden ist:
func sendTable()
{
let tableInfo: WatchWorkout = PhoneData().buildWatchTableData(Foundation.Date().refDays())
let archivedTable: Data = NSKeyedArchiver.archivedData(withRootObject: tableInfo)
if validSession
{
sendMessage([Keys.UpdateType : PhoneUpdateType.TableInfo.rawValue, Keys.Workout: archivedTable])
}
else
{
do
{
try updateApplicationContext([Keys.UpdateType : PhoneUpdateType.TableInfo.rawValue, Keys.Workout: archivedTable])
}
catch
{
print("Phone Session - error sending info: \(error)")
}
}
}
func sendMessage(_ message: [String : AnyObject], replyHandler: (([String : AnyObject]) -> Void)? = nil, errorHandler: ((NSError) -> Void)? = nil)
{
print("Phone Session - phone sent message")
session!.sendMessage(message,
replyHandler:
nil,
errorHandler:
{
(error) -> Void in
print("Phone Session - Error Message during transfer to Watch: \(error)")
}
)
}
func updateApplicationContext(_ applicationContext: [String : AnyObject]) throws
{
print("Phone Session - phone sent context")
if ((session) != nil)
{
do
{
try session!.updateApplicationContext(applicationContext)
}
catch let error
{
print("Phone Session - OPPS something wrong - context send failed")
throw error
}
}
}
Ich bin mir nicht sicher, wie die Quittung kodieren von diese Daten als Hintergrundaufgabe auf der Uhr.
Kann jemand einen Beispielcode bereitstellen oder einen Link posten? Der einzige Beispiel Code Apple ist nicht sehr hilfreich: https://developer.apple.com/library/prerelease/content/samplecode/WatchBackgroundRefresh/Introduction/Intro.html
Dank
Greg
Ich habe ein ähnliches Problem, siehe [hier] (http://stackoverflow.com/questions/40537027/wkwatchconnectivityrefreshbackgroundtask-is-nevertriggered-in-background-but-w). Anscheinend wird 'WKWatchConnectivityRefreshBackgroundTask' nie aufgerufen, nicht einmal im Demoprojekt QuickSwitch. –
Ich reichte das Problem an Apple Developer Technical Support, und sie bestätigt (# 652471299) das Problem in WatchOS 3, und schlug vor, einen Fehlerbericht, was ich tat (# 29284559). Allerdings muss ich sagen, ich habe nicht viel Hoffnung, dass dies bald helfen wird. Meine früheren Fehlerberichte wurden normalerweise Monate später behandelt, wenn überhaupt ... –
Gab es irgendwelche Updates zu diesem Fehler? Einige Probleme selbst haben –