我喜欢CloudKit的原因有很多:
有了这些美感,数据也在同一用户的设备之间共享,没有任何登录和用户管理,我应该关心.
在许多情况下我可以如何使用它,其中一些中继事实,数据只能由应用程序访问,并且不能由用户修改或复制.这样的示例可以是可消费的应用内购买,这样我可以将所有购买存储在CloudKit中,并且它们将在同一用户的设备之间共享.
所以实际的问题是:
没有越狱设备的用户能否以某种方式修改应用程序外的CloudKit数据?
我相信越狱会让他做很多事情,包括更换CloudKit方法,但普通用户呢?
加密可以是保护数据的解决方案,但它不能防止复制数据,例如,用户可以与其他用户共享他的记录,并且不同的用户将获得他不应该拥有的内容.
苹果非常小心地认为这是不可能的.我听了设备和CloudKit之间的一些通信,发现他们使用protobuf进行通信,这是标准的开放,但没有消息定义就不全面.我似乎也使用当前时间和请求标识符对每个请求进行了签名.然而,所有这些只是我的猜测,可能还有很多方法可以解决这个问题.
我试图从GHC分析器中理解.有一个相当简单的应用程序,它使用werq和lens-aeson库,在学习GHC分析时,我决定玩它一点.
使用不同的选项(time工具+RTS -p -RTS和+RTS -p -h)我获得了完全不同的内存使用量.拥有所有这些数字,我现在完全迷失了,试图了解正在发生的事情,以及应用程序实际使用了多少内存.
这种情况让我想起了亚瑟布洛赫的一句话:"一个有手表的男人知道现在是什么时候.一个有两只手表的男人永远不会确定."
请你,建议我,我如何阅读所有这些数字,以及每个数字的含义是什么.
这是数字:
time -l报道大约19M
#/usr/bin/time -l ./simple-wreq
...
3.02 real 0.39 user 0.17 sys
19070976 maximum resident set size
0 average shared memory size
0 average unshared data size
0 average unshared stack size
21040 page reclaims
0 page faults
0 swaps
0 block input operations
0 block output operations
71 messages sent
71 messages received
2991 signals received
43 voluntary …Run Code Online (Sandbox Code Playgroud)