我不想花时间学习Obj-C.我花了7年多的时间做Web应用程序编程.难道不应该有一种方法来使用WebView,只需用javascript编写整个应用程序,直接从项目资源中提取文件吗?
我不想花时间学习Obj-C.我花了7年多的时间做Web应用程序编程.难道不应该有一种方法来使用WebView,只需用javascript编写整个应用程序,直接从项目资源中提取文件吗?
我四处寻找后找到了答案.以下是我所做的:
在XCode中创建一个新项目.我想我用的是基于视图的应用程序.
将WebView对象拖到您的界面上并调整大小.
在WebViewController内部.m(或类似名称的文件,取决于视图的名称),在viewDidLoad方法中:
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"index" ofType:@"html"]; NSData *htmlData = [NSData dataWithContentsOfFile:filePath]; if (htmlData) { NSBundle *bundle = [NSBundle mainBundle]; NSString *path = [bundle bundlePath]; NSString *fullPath = [NSBundle pathForResource:@"index" ofType:@"html" inDirectory:path]; [webView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:fullPath]]]; }
现在,您作为资源添加到项目中的任何文件都可以在您的Web应用程序中使用.我有一个index.html文件,包括javascript和CSS以及图像文件,没有任何问题.到目前为止,我发现的唯一限制是不能创建新文件夹,因此所有文件都会使资源文件夹变得杂乱无章.
诀窍:确保已将文件作为资源添加到XCode中,否则该文件将不可用.我一直在XCode中添加一个空文件,然后将我的文件拖到查找器的顶部.这对我很管用.
注意:我意识到Obj-C一定不难学.但是因为我在JS中已经有了这个应用程序,而且我知道它在Safari中可以工作,所以对我来说,这是一个更快的开发周期.总有一天我肯定会崩溃,go 学习Obj-C.
我发现其他一些资源很有帮助:
从javascript调用Obj-C:calling objective-c from javascript
从OBJ-C:iphone app development for web hackers调用javascript
正在从应用程序Bundle 包读取文件:uiwebview