如何在 Objective-C 中运行 javascript 文件?
Posted
技术标签:
【中文标题】如何在 Objective-C 中运行 javascript 文件?【英文标题】:How do I run a javascript file in Objective-C? 【发布时间】:2014-01-15 21:47:35 【问题描述】:到目前为止,我已经尝试了很多事情,但都没有成功。 javascript文件必须采用某种格式吗? 谢谢
【问题讨论】:
您的实际情况/目标是什么(即,为什么要在您的 Objective-C 应用程序中运行 JavaScript 代码)?如果没有一些额外的上下文,您可能无法获得您正在寻找的答案。 要在 UIWebView 中使用 javasript,问题几乎就是我想要做的。从目标 c 运行 javascript 【参考方案1】:在 Mac 上:
这里是对 JavaScriptCore 的引用:https://developer.apple.com/library/mac/documentation/Carbon/Reference/WebKit_JavaScriptCore_Ref/_index.html。您还可以在 WWDC 2013 上找到“将 Javascript 集成到原生应用程序”视频。
在 iOS 上:
我能想到的唯一方案是使用 Instrument 运行 UI 自动化 javascript。
【讨论】:
【参考方案2】:@zyang 的答案与 javascript 核心有关——对于“我如何从 Objective-c 运行 javascript”这一一般性问题,这是一个非常好的答案。
但是你表明你想在 UIWebView 中使用它。
我知道这样做的(唯一)方法是使用 UIWebView 类方法stringByEvaluatingJavascriptString,它的界面如下:
- (NSString *)stringByEvaluatingJavaScriptFromString:(NSString *)script
您将要执行的 javascript 作为唯一参数传递,这将在 UIWebView 上下文中执行,并将任何结果作为 NSString 返回。我已经使用它在混合应用程序的 Web 和本机代码部分之间进行交互。
【讨论】:
以上是关于如何在 Objective-C 中运行 javascript 文件?的主要内容,如果未能解决你的问题,请参考以下文章
objective-c 中如何在一个函数中调用自己类中的另外一个函数
如何共享/分发已编译的Objective-C代码(如Java中的JAR)?
如何使 Java 和 Objective-C (iPhone) 之间的 AES 加密相同?