您好,欢迎来到华佗小知识。
搜索
您的当前位置:首页Apple Watch和iPhone共享资源

Apple Watch和iPhone共享资源

来源:华佗小知识

方法一:使用WatchConnectivity框架实现共享,适用于Watch OS2.0

新版本一种实现方式:Watch OS2.0之后使用WatchConnectivity框架的WCSessionDelegate代理实现传递文件:

1.引入WatchConnectivity

import WatchConnectivity

2.遵循协议WCSessionDelegate

3.定义并初始化session对象

var session: WCSession!

session = WCSession.default()

session.delegate = self

// 激活session 必须激活才能实现数据传递、消息传递

session.activate()

4.触发发送方法

let pathURL = Bundle.main.url(forResource: "share", withExtension: ".png")

// 发送

session.transferFile(pathURL!, metadata: ["keys":"allValues"])

5.实现代理方法

// iPhone必须实现的方法:

func session(_ session: WCSession, activationDidCompleteWith activationState: WCSessionActivationState, error: Error?)

{}

func sessionDidBecomeInactive(_ session: WCSession)

{}

func sessionDidDeactivate(_ session: WCSession)

{}

6.watch中使用同样的方式,在代理中除了

// 必须实现的方法外

func session(_ session: WCSession, activationDidCompleteWith activationState: WCSessionActivationState, error: Error?)

{}

// 使用下面的方法来获取并使用

func session(_ session: WCSession, didReceive file: WCSessionFile)

{}

方法二:使用App Groups , 适用于Watch OS1.0

1.创建证书

首先给iPhone的工程中添加一张测试图片

1.在iPhone的文件中将该图放入到共享文件夹中

let fileManager = FileManager.default

//共享文件夹路径

shareLabel.text = groupPath

//找到图片

let imagePath = Bundle.main.path(forResource: "share.png",ofType: nil)??""

let imageData = NSData(contentsOfFile: imagePath)

//图片转存到共享文件夹的路径

let imageFullPath = groupPath?.appending("/share.png")

//存

fileManager.createFile(atPath: imageFullPath!,contents: imageData as?Data,attributes: nil)

2.在watch上读取

let fileManager = FileManager.default

// group路径

var paths = groupPath??"watch读的路径没有"

print(paths)

//拿到图片

let imagePath = groupPath?.appending("/share.png")

let imageData = NSData(contentsOfFile: imagePath!)

if nil == imageData {

paths = imagePath! + "||没找到图|||".appending(paths)

}

pathLabel.setText(paths)

//装载

shareImageView.setImageData(imageData as Data?)

Copyright © 2019- huatuo0.cn 版权所有 湘ICP备2023017654号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务