Navigate back to the homepage

解决21世纪十大难题之一 AirDrop 传输失败

宋辰文
March 21st, 2015 · 1 min read

OS X 的 AirDrop 功能在近距离传文件又快又方便,比 QQ 好用得多。但却经常抽风,或者是打开 AirDrop 却不显示对方的设备,或者是刚一传文件直接就显示传输失败,实在是让人沮丧。

不显示对方的设备这个问题,基本上都可以通过 AirDrop 界面下面的 看不到要找的人 -> 搜索旧款 Mac 来解决。而传输失败的问题,苹果就没有给出一个好的解决方案了。

经过我的测试,发现传输失败的问题是与系统代理的设置相关的。对于墙内的人来说,代理可以说是必需品,所以也难怪我们总是会觉得 AirDrop 不好用了。

  • 当全局代理的时候,AirDrop 会传输失败。
  • 当自动代理白名单模式时,AirDrop 会传输失败
  • 当自动代理黑名单模式时,AirDrop 可以传输成功

通过以上现象,我推测 AirDrop 是通过蓝牙发现设备,然后通过 http 协议传输文件的,这中间要经过系统的代理设置。

于是打开 console.app 进一步跟踪 log,我发现 AirDrop 在发送文件时会去请求一个 .local 后缀的域名。比如我要给设备名为 iPhone 的设备传文件,就会出现这样的 log。

115/3/22 上午9:16:24.467 sharingd[331]: 09:16:24.466 : Sending to 3bd06cf0e962 at [iPhone.local]:8770

现在问题就好解决了,只需要编辑自动代理设置,把 .local 加到白名单里,以后使用 AirDrop 就不会再出现传输失败的提示了。

More articles from 宋辰文

将安卓的多语言文件转为 iOS 格式的 Workflow

抽空写了一个将 Android 的 `strings.xml` 文件转为 iOS 的 `Localizable.strings` 格式的小脚本。而且把它封装撑了一个 Alfred Workflow。

March 18th, 2015 · 1 min read

Android 开发中如何信任自签名 Https 证书

Android 4.0 之后增加了添加可信证书的 API 。但对于我们 App 开发者来说,毕竟还是要支持 4.0 之前版本的 Android 的。所以我们要想一些其它的办法来使我们的 App 信任我们自己的自签名证书。

January 27th, 2015 · 1 min read
© 2019 宋辰文
Link to $https://mp.weixin.qq.com/s?__biz=MzAxNTI3MTUwMA==&mid=2247483701&idx=2&sn=34613cbb3252ac5eb6c31724f3109b59Link to $https://weibo.com/songchenwenLink to $https://twitter.com/songchenwenLink to $https://stackoverflow.com/users/2210682/songchenwen