|  |      1dorentus      2014-08-05 11:38:09 +08:00  1 Lua/Javascript 的 JIT 是被禁止的。那个“禁止动态执行代码”的限制只是想禁止动态在 CPU 上面执行机器代码而已。 不让用自己的动态链接库的限制纯粹是技术原因吧,目前 beta 版里面,用了 Swift 的话,libswift.dylib 是被打包在 app bundle 里面的;但是不管是不是动态链接,因为沙盒的存在,每个应用还是自己用自己的,影响不到其它应用。 | 
|  |      2dorentus      2014-08-05 11:46:09 +08:00  1 @dorentus  简言之: 1) 开放动态在 CPU 上面执行机器代码的权限之后,应用理论上可以通过这个来绕过沙盒,于是就禁了。 2) 动态链接库,因为沙盒的存在,起不到共享的作用;怕麻烦,于是就禁了。 | 
|      3dogfeet OP @dorentus 是啊,因为起不到共享的作用,实际上还是安全的。但是不禁的话应用自更新起来就非常方便了。很多时候去用脚本只是为了动态更新,感觉产生了一个很病态的需求。 | 
|  |      4middleware      2014-11-20 12:41:10 +08:00  1 不允许动态库和技术没有什么关系。主要还是生态圈的问题。 Apple 不希望有第三方厂商发布在 iOS 上用的重量级 SDK(比如像 Qt 之类的)。当然你要开发也可以,但是没有动态库支持发布大型 SDK 会有很多问题,比如 symbol conflict 之类的。总之不是 blocking issue 但是算个 barrier。 |