WatchOS 6.1 session:didReceiveFile: never called

I wrote my Watch App 2 years ago and it has changed little since then and has been working fine.

With iOS13 & WatchOS 6 I've just discovered some of the functionality is broken.

I've spent a couple of days checking both the iOS side as well as the Watch side and the issue appears to be on the Watch.

The watch's session:didReceiveFile: delegate function is never called and a file required on the watch is never received.

The WCSession Delegate is working as all other delegate functions are being called.

On the iPhone session:didFinishFileTransfer:error: is called. error is null.

If I check session outstandingFileTransfers I can see the file being sent from the Phone to the Watch in there.

In fact they seem to pile up in there with each reload of the app on the phone similator.

I've tried clearing them out in session:didFinishFileTransfer:error: enumerating through the outstandingFileTransfers array and using the cancel call on each one.

Files are typically 1Mb->1.5Mb in size.

I know iOS13 has been buggy as have the simulators, is anyone aware of an issue around this?

Thanks, its driving me nuts!

Replies

Testing on my iPhone X with a S4 Apple Watch (iOS 13.2.1 & Watch OS 6.1) it appears to work fine.

So this must be a breakage in the simulator (11.2.1) and not the live hardware versions.

I'm having a similar problem. It's aggravating because when I made my App for watchOS 5 last year there were no issues and now there are issues. My problem is that the phone and watch are not always 'reachable' even though they are right next to eachother. I figured this out because when I try sending a message to the watch, it sometimes prints false when I print 'WCSession.default.isReachable' but sometimes it prints true. Hopefully this is justg something wrong with my personal devices or something like that. I don't want the users of my App to experience issues over something that I can't fix.

I have the same issue since XCode 11 and watchOS 6.0

All work on real device, but don't work on watch simulator.

The delegate methods on watch side didReceiveUserInfo and didReceiveFile never fired and its impossible to develop app in this situation.


Can anyone solve this important issue?