【发布时间】:2016-11-04 23:47:02
【问题描述】:
handlebars.net 是否适用于任何人的 iOS?我无法让它运行。在 Android 上一切正常。
在调试时,Expression 的 .compile() 看起来没问题,Expression 字符串的调试与 android 上的相同,但是当调用 lambda 时没有任何反应,并且我的 json 没有应用。
我正在尝试编写自己的简单表达式并且它们正在工作,但它们可能会以静态方式提前解决......
非常感谢。
【问题讨论】:
-
Handlebars 模板动态编译为 IL,这是允许的,但在 iOS 上不允许执行该 IL。
-
奇怪的是,我试图用 if a 和 Rand() 编写自己的“动态”表达式,以便每次生成不同的东西并且它正在工作。所以我希望我的表达提前是 AOT 或者它也是由其他原因引起的。 Handlebars 不也使用动态对象吗?无论如何,如果您将评论改写为答案,我会接受。
-
请注意,iOS 模拟器不会强制执行代码执行限制,运行发布版本的物理设备会执行此限制。现在完全允许反射,但禁止内存 JIT/执行。 Apple Store App 之类的 iOS 上的 Frank Krueger 的 Continuous(C#/F# 编辑器|编译器|执行)使用 IL 解释器和反射的组合来“执行”Rosyln 生成的代码。 (Frank custom 编写了 IL 解释器,因此它“看起来”像是在执行 IL(JIT'ing)编译成内存流的内容,但实际上是在进行 IL 解释)。 Android 没有这样的限制。
标签: c# xamarin xamarin.ios handlebars.net