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