jjzjj

WCSession

全部标签

c# - WCSession 发送消息给出错误 "payload could not be delivered"

我正在使用Xamarin开发AppleWatch应用。我正在尝试使用SendMessage函数从我的watch向iPhone发送消息。当我这样做时,我收到了out错误消息payloadcouldnotbedelivered。我只能阅读消息的一部分(“payloadcouldn...”),因为我将它写在标签上(因为我的调试器在Xamarin中不起作用,所以我无法查看该消息),但是之后做一些谷歌搜索我假设这就是它所写的。知道为什么吗?这是我的代码:publicsealedclassWCSessionManager:NSObject,IWCSessionDelegate{//Setupisc

ios - 使用 WatchKit 2 的 iOS 应用程序中的 WCSession 停止应用程序构建

我正在尝试使用iOS9中新的WCSession来设置我的Watch应用程序和我的iPhone应用程序之间的通信。将WCSession添加到watch扩展程序一切顺利,但一旦我尝试将相同的东西添加到我的手机目标中,应用程序将不再构建并给我这个错误。Undefinedsymbolsforarchitecturex86_64:"_OBJC_CLASS_$_WCSession",referencedfrom:objc-class-refinAppDelegate.old:symbol(s)notfoundforarchitecturex86_64clang:error:linkercomman

ios - 将 WCSession 与多个 ViewController 一起使用

我发现了很多问题和答案,但没有请求的最终示例:谁能给出一个在ObjectiveC中的最后一个例子,什么是将WCSession与IOS应用程序和带有多个ViewController的Watch应用程序(WatchOS2)一起使用的最佳实践。到目前为止,我注意到以下事实:1.)在AppDelegate的父(IOS)应用程序中激活WCSession:-(BOOL)application:(UIApplication*)applicationdidFinishLaunchingWithOptions:(NSDictionary*)launchOptions{//Anyothercodeyoum

ios - WCSession transferUserInfo 仅适用于前台

我正在使用WCSession的tranferUserInfo在watch和iOS应用程序之间发送数据,以获取当任一产品处于后台时需要处理的信息。这在模拟器上100%的时间都有效,但在实际设备上却永远无效。通过使用断点,我发现funcsession(session:WCSession,didReceiveUserInfouserInfo:[String:AnyObject])永远不会在后台调用,但是当应用程序被带到前景。显然session.transferUserInfo(data)正在被调用,但在后台状态下未被接收。再次运行完全相同的代码,但在模拟器上运行完美。我运行的是iOS9.3.

swift - 何时调用 WCSession 对象上的 activateSession()

我想知道什么时候会在watch和iOS设备上的WCSession对象上调用activateSession()。在文档中它说:在调用任何与session相关的方法之前,始终分配一个委托(delegate)并激活您的session。在发送消息或获取有关连接状态的信息之前,必须配置和激活session。起初以为我把我的代码用来初始化session:if(WCSession.isSupported()){session=WCSession.defaultSession()session.delegate=selfsession.activateSession()}在iOS设备上的viewDid

ios - WatchOS2 WCSession WCSession 在 WatchKitExtension 中可以有多少个委托(delegate)?

我的iOS应用程序通过WatchConnectivity框架发送及时的信息。接收方实现WCSession的委托(delegate)。我有2个interfaceControllers需要从WCSession发送的信息。一个是glanceInterfaceController,另一个是我的mainInterfaceController。是否可以为它们都分配委托(delegate)并同时接收从我的iOS应用程序发送的userInfo或applicationContext?或者只能分配一个WCSession委托(delegate),而我的Controller需要从分配的对象中获取数据?谢谢!

swift - WCSession 尚未激活

当我尝试发送内容时收到WCSession尚未激活错误。而且我不知道我做错了什么。我已经测试了一些“必须”工作的预制解决方案。但它在我的模拟器和物理设备上不起作用。部分代码:我的应用委托(delegate):importUIKitimportCoreDataimportWatchConnectivity@UIApplicationMainclassAppDelegate:UIResponder,UIApplicationDelegate,WCSessionDelegate{varwindow:UIWindow?funcsession(session:WCSession,didReceiv

ios - WatchOS2 WCSession sendMessage 不会在后台唤醒 iPhone

这正在模拟器和真实物理设备iphone5s上进行测试。我尝试使用WCSessionsendMessage从WatchOS2扩展到iPhoneiOS9代码进行通信。当iphone应用程序在前台和后台模式下运行时,它运行良好。但是如果我终止iPhone应用程序(根本不运行应用程序),那么我总是会遇到errorHandler超时。因此Watch无法再与iPhone通信。"ErrorDomain=WCErrorDomainCode=7012"Messagereplytooktoolong."UserInfo={NSLocalizedDescription=Messagereplytooktoo

ios - WCSession 发送消息 :replyHandler error code 7014 (WCErrorCodeDeliveryFailed)

我有一个WatchOS2应用程序,它通过WCSession方法与iOS应用程序通信sendMessage:replyHandler:errorHandler:iOS应用程序回复正确,但有时我收到域WCErrorDomain的代码7014的错误:“无法传递有效负载”当iOS应用程序不在前台时,这种情况更常发生。我没有找到这个问题的任何解决方案,我希望你们中的一个知道这个问题的解决方案 最佳答案 在我的例子中,我必须实现两个委托(delegate):没有任何replyHandlerfuncsession(_session:WCSessi

ios - WCSession.sendMessage 工作 50/50

最近又在做Watch/iPhone通讯相关的项目。但是我的代码有时能用,有时不能用,这对我来说有点奇怪,因为我认为代码要么能用,要么不能用。它不能是50/50。因此,我不知道出了什么问题。在iPhone上设置WCSession:classWatchCommunicationController:NSObject,WCSessionDelegate{varsession:WCSession?overrideinit(){//superclassinitsuper.init()//ifWCSessionissupportedifWCSession.isSupported(){//itis