【问题标题】:Can't instantiate NSURL with file path无法使用文件路径实例化 NSURL
【发布时间】:2011-10-11 15:19:14
【问题描述】:

使用 [NSURL fileURLWithPath:[@"~/Movies" stringByExpandingTildeInPath]] 创建 NSURL 时,我在控制台中收到以下错误:

-[NSURL initWithScheme:host:path:]: path file:/localhost/Users/michael is not absolute.

在Debug模式下编译时有效,这个问题只有在切换到Release后才会出现。

编辑:澄清一下,我在运行时收到错误消息,在初始化 NSURL 对象时,而不是在构建时。

【问题讨论】:

    标签: objective-c cocoa


    【解决方案1】:

    我认为您的代码需要如下所示:

    NSURL *url = [NSURL fileURLWithPath:[@"~/Movies" stringByExpandingTildeInPath]];
    

    在我看来,您缺少需要围绕“~/Movies”的@""。

    【讨论】:

    • 是的,你是对的。不过我的代码中确实有它,我只是没有复制粘贴它,在这里发帖时忘记了@""。
    • 它会给出一个编译器警告和那种情况
    【解决方案2】:

    在这里工作正常...

     NSURL *url = [NSURL fileURLWithPath:[@"~/Movies" stringByExpandingTildeInPath]];
     NSLog(@"url: %@", url);
    

    但是 您的应用程序是否在发布模式下被沙盒化?这可以解释这一点

    【讨论】:

      猜你喜欢
      • 2011-10-02
      • 2022-01-07
      • 1970-01-01
      • 2014-05-04
      • 2011-07-28
      • 2014-11-07
      • 2015-11-10
      • 2011-10-20
      • 1970-01-01
      相关资源
      最近更新 更多