iphone - 在我的 mainBundle 中找不到 .js 文件?

标签 iphone cocoa-touch nsdata nsbundle

这让我发疯,因为我无法弄清楚世界上到底发生了什么。我一直从主包加载文件,xml 文件,html 文件等。但是,现在我试图获取 javascript 文件的内容,但它永远找不到它。我正在使用:

NSData *jsData = [NSData dataWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"global" ofType:@"js"]];
    if (jsData) {
        NSLog(@"%@", jsData);
    } else {
        NSLog(@"Can't find file");
        return;
    }

即使检查 [[NSBundle mainBundle] pathForResource:@"global"ofType:@"js"] 字符串也会返回 null。

我的 globaly.js 文件位于我的 Resources 文件夹中,这是我的其他文件所在的位置,使用上述方法完全可以正常工作。

为什么找不到我的js文件?

最佳答案

默认情况下,Xcode 可能会将带有“js”扩展名的文件视为源文件,并将它们添加到其编译源构建阶段而不是复制捆绑资源构建阶段。

只需将您的“js”文件移至复制捆绑资源构建阶段,它们就会被复制到您的应用程序的捆绑中。它们是否属于项目层次结构中名为“资源”的组并不重要;这只是一个组织工具,它在 Xcode 中没有任何意义。目标下的构建阶段真正完成了产品的组装工作。

关于iphone - 在我的 mainBundle 中找不到 .js 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4541699/

相关文章:

iphone - UIImageView 从存储在 Core Data 中的文件路径加载

iphone - MPMoviePlayerController 从流视频中获取缩略图?

iphone - 使用 Charles Proxy Socks 功能调试 iPhone 流量?

iOS 9 Beta 3 不能信任企业开发者应用程序

ios - 使用 NSMutableURLRequest 将海关对象发布到 Web

ios - 如何计算 NSData 的 CRC-8-Dallas/Maxim?

ios - 淡入淡出动画

objective-c - 当应用程序最小化并再次回到前台时,会调用哪个方法?

objective-c - 从一个 NSMutableArray 中删除包含在另一个数组中的元素

objective-c - 如何测试 NSData 的特定字节值(也称为 header )