我如何通过iPhone将UIImage
Over WatchConnecitivity 从iPhone转移到Apple
Watch,而无需在手机上进行用户交互,而只能加载,因为手表以编程方式对其进行调用。我之所以需UIImage
要这样做,是因为图像处理用于创建Watchkit
API中不可用的使用逻辑,因此必须通过手机进行创建。我似乎有一些使用Watch Watch连接的示例:
func startSession() {
session?.delegate = self
session?.activateSession()
}
但是,我是Watch
Kit的新手,对如何使用此会话管理器感到困惑,尤其是如何从手表转到设备,而不是像苹果文档中所看到的那样。有人可以提供一个示例,说明如何在手表和手机上执行此操作,以便通过手表在手机上拨打UIImage
电话吗?
要在iPhone和Apple Watch之间传输文件,您应该使用Watch
Connectivity,WCSession
以正确处理通信。您可以使用的委托方法发送UIImage
as
。NSData``didReceiveMessageData``WCSessionDelegate
您应该知道的第一件事是将您转换UIImage
为NSData
,反之亦然。您可以为此使用以下代码:
如果是PNG图片
let image = UIImage(named: "nameOfYourImage.jpg")
let data = UIImagePNGRepresentation(image)
如果是JPG图片
let image = UIImage(named: "nameOfYourImage.jpg")
let data = UIImageJPEGRepresentation(image, 1.0)
然后,您可以使用WCSession
来通过以下方式发送消息:
ViewController.swift
class ViewController: UIViewController, WCSessionDelegate {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
if WCSession.isSupported() {
WCSession.defaultSession().delegate = self
WCSession.defaultSession().activateSession()
}
let image = UIImage(named: "index.jpg")!
let data = UIImageJPEGRepresentation(image, 1.0)
WCSession.defaultSession().sendMessageData(data!, replyHandler: { (data) -> Void in
// handle the response from the device
}) { (error) -> Void in
print("error: \(error.localizedDescription)")
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
InterfaceController.swift
import WatchKit
import Foundation
import WatchConnectivity
class InterfaceController: WKInterfaceController, WCSessionDelegate {
override func awakeWithContext(context: AnyObject?) {
super.awakeWithContext(context)
// Configure interface objects here.
}
override func willActivate() {
// This method is called when watch view controller is about to be visible to user
super.willActivate()
if WCSession.isSupported() {
WCSession.defaultSession().delegate = self
WCSession.defaultSession().activateSession()
}
}
override func didDeactivate() {
// This method is called when watch view controller is no longer visible
super.didDeactivate()
}
func session(session: WCSession, didReceiveMessageData messageData: NSData, replyHandler: (NSData) -> Void) {
guard let image = UIImage(data: messageData) else {
return
}
// throw to the main queue to upate properly
dispatch_async(dispatch_get_main_queue()) { [weak self] in
// update your UI here
}
replyHandler(messageData)
}
}
在上面的代码中,当您打开时,ViewController
它发送UIImage
,上面的示例仅出于学习目的,您必须以更适当的方式处理项目的复杂性。
希望对您有所帮助。
我使用此命令从Raspberry摄像机流式传输实时视频: 我需要一种通过netcat传输H.264文件的方法,如上面的示例所示。它的接收方式必须与我的覆盆子相机相同。
问题内容: 我一直在寻找如何将MongoDB查询结果流式传输到nodejs客户端的示例。到目前为止,我发现的所有解决方案似乎都是立即读取查询结果,然后将结果发送回服务器。 相反,我(显然)想为查询方法提供一个回调,并在结果集的下一个块可用时让MongoDB调用它。 我一直在看猫鼬-我是否应该使用其他驱动程序? 一月 问题答案: 在Mongoose中进行流式处理的版本为2.4.0,该版本在发布此问题
我想使用NiFi rest api将flowfiles传输到输入端口。我浏览了NiFi rest api文档,发现似乎有支持来实现同样的功能。但是,说实在的,不是很清楚,也不是很详细。 我想知道的是,如何将排队的流文件从源处理器组传输到目标处理器组的输入端口,以便使用存储。 我想尝试点击以下endpoint:
问题内容: 我应该使用什么图书馆?有什么功能对我有帮助? 问题答案: 最简单的方法可能是使用序列化。因此,您的对象类必须实现可序列化,因此必须具有所有成员(primitves和大多数标准Java类已经做到了)。这允许在运行时在对象实例和字节流之间进行映射。 您还需要用于Transer的协议。如果您不想处理流传输中的字节流,可以看看RMI,尽管这并不困难。但是,使用RMI可以使您以后构建功能更强大的
使用debezium从Postgres流式更改 已完成的设置: Docker设置。 启动Postgres、zookeeper、kafka和debezium Connector。 使用decoderbufs、wal2json(postgres)设置远程数据库。 使用curl连接到debezium。 创建了一个观察者。 问题:当我启动watcher时,它读取了之前发生的所有更改,但当任何插入完成时,k
问题内容: 如何根据代理环境变量自动编写使用代理的Go程序? 它本身支持标准的代理环境变量,但是我说的是Go程序/代码本身。 这个博客说: 默认情况下,http.Client在处理任何http.Request之前会检查HTTP_PROXY和HTTPS_PROXY变量。 我试过了,但是对我的以下代码不起作用: 问题答案: 您可以使用 http.ProxyFromEnvironment 方法 Prox