怎么使用IOS实现无线传输

  介绍

这篇文章主要介绍了怎么使用IOS实现无线传输,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获、下面让小编带着大家一起了解一下。

问题

业务场景上存在需要将手机里的文件,图片传递给其他的设备,

不仅仅局限于传书,资料啥的都有可能传递

方案

最基本的方法:设备之间加个云,设备上传资料到云,云同步资料到各个设备,适用于多设备之间,这个没讲的必要

如果是两设备之间,忽略服务器,怎么搞?联想到图书应用中的无线传书,貌似没云端概念的,怎么做到的?

上菜

采用框架GCDWebServer,通过CocoaPods引入

pod “GCDWebServer",,“~祝辞,3.0“

设置本地接收目录,初始化服务器并启动

override  func 那些(_ 动画:Bool), {   ,,,super.viewWillAppear(动画)   ,,,,   ,,,if  let  filepath =, NSSearchPathForDirectoriesInDomains (.documentDirectory, .userDomainMask,,真的).first  as  NSString ?, {   ,,,,,,,let  path =, filepath.appendingPathComponent (“transfer")   ,,,,,,,if  ! FileManager.default.fileExists (atPath:路径),{   ,,,,,,,,,,,do  {   ,,,,,,,,,,,,,,,try  FileManager.default.createDirectory (atPath:路径,withIntermediateDirectories:,假,,属性:,nil)   ,,,,,,,,,,,},{catch    ,,,,,,,,,,,,,,,印刷(错误)   ,,,,,,,,,,,}   ,,,,,,,}   ,,,,,,,   ,,,,,,,webServer =, GCDWebUploader (uploadDirectory:路径)   ,,,,,,,网络服务器? .delegate =自我   ,,,,,,,网络服务器? .allowHiddenItems =,真的   ,,,,,,,网络服务器? .allowedFileExtensions =, (“doc",,“docx",,“xls",,“xlsx",,“txt",,“pdf",,“jpeg",,“jpg"】   ,,,,,,,网络服务器? .title =,“善斋工具“;   ,,,,,,,网络服务器? .prologue =,“欢饮使用善斋工具的WIFI管理平台,   ,,,,,,,网络服务器? .epilogue =,“善斋书屋制作“   ,,,,,,,   ,,,,,,,if 网络服务器? .start(),==,真的,,let  address =, IPHelper.deviceIPAdress (),, address.count 祝辞,0,,let  port =,网络服务器? .port  {   ,,,,,,,,,,,ipLb.text =,“1。确保设备在同一局域网,\ n2。上传时勿关闭该页面,\ n3。请网页中输入该地址,\ nhttp://\(地址):\(港)/?   ,,,,,,,},{else    ,,,,,,,,,,,ipLb.text =,“GCDWebServer  not 跑!“   ,,,,,,,}   ,,,}   }

局域网内获取本机的ip地址,并设置其他设备访问链接

# import  & lt; ifaddrs.h>   # import  & lt; arpa/inet.h>   # import  & lt;net/if.h>      @implementation  IPHelper      +,(NSString  *) deviceIPAdress  {   ,,,NSString  * address =, @"“;   ,,,struct  ifaddrs  * interfaces =,空;   ,,,struct  ifaddrs  * temp_addr =,空;   ,,,int  success =, 0;   ,,,success =, getifaddrs(及接口);   ,,,if  (success ==, 0),{,//0,表示获取成功   ,,,,,,,temp_addr =,接口;   ,,,,,,,while  (temp_addr  !=, NULL), {   ,,,,,,,,,,,如果(,temp_addr→ifa_addr→sa_family ==, AF_INET), {   ,,,,,,,,,,,,,,,//,Check  if  interface  is  en0  which  is 从而wifi  connection 提醒,iPhone   ,,,,,,,,,,,,,,,if  ([[NSString  stringWithUTF8String: temp_addr→ifa_name], isEqualToString: @" en0"]), {   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

怎么使用IOS实现无线传输