NSURL fileUrlWithPath 方法 returns 双路径
NSURL fileUrlWithPath method returns double path
情况是这样的:
在 OS X 10.10.5 的沙盒应用程序中,我在 NSString 对象中保存了一些路径,例如 @"file:///Users/xxx/".
然后我执行[NSURL fileURLWithPath:object]
。这给了我这样的 NSURL 对象
@"file:/Users/xxx --
file:///Users/xxx/Library/Containers/com.123456.App/Data/"
.
我只需要这部分@"file:///Users/xxx/Library/Containers/com.123456.App/Data/"
源字符串以某种方式被扭曲和加倍,并在中间添加了额外的破折号。
谁能解释为什么会这样?
Xcode6.4
你能试试这样的吗?通过提供文件名和扩展名。
NSURL *url=[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"fileName" ofType:@"fileExtension"]];
fileURLWithPath: 将 return 文件 URL 路径。
即开始于:file:///
这意味着你传递给它的字符串路径应该是这样的形式:
@"/Users/xxx/Library/Containers/com.123456.App/Data/"
您不需要在路径前添加 file:///。或者你会得到你正在得到的结果。
示例:
NSString * stringPath = @"/Users/xxx/Library/Containers/com.123456.App/Data/";
NSURL * anUrl =[NSURL fileURLWithPath:stringPath ];
NSLog(@"nUrl %@",anUrl);
----> nUrl file:///Users/xxx/Library/Containers/com.123456.App/Data/
情况是这样的: 在 OS X 10.10.5 的沙盒应用程序中,我在 NSString 对象中保存了一些路径,例如 @"file:///Users/xxx/".
然后我执行[NSURL fileURLWithPath:object]
。这给了我这样的 NSURL 对象
@"file:/Users/xxx -- file:///Users/xxx/Library/Containers/com.123456.App/Data/"
.
我只需要这部分@"file:///Users/xxx/Library/Containers/com.123456.App/Data/"
源字符串以某种方式被扭曲和加倍,并在中间添加了额外的破折号。 谁能解释为什么会这样?
Xcode6.4
你能试试这样的吗?通过提供文件名和扩展名。
NSURL *url=[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"fileName" ofType:@"fileExtension"]];
fileURLWithPath: 将 return 文件 URL 路径。
即开始于:file:///
这意味着你传递给它的字符串路径应该是这样的形式:
@"/Users/xxx/Library/Containers/com.123456.App/Data/"
您不需要在路径前添加 file:///。或者你会得到你正在得到的结果。
示例:
NSString * stringPath = @"/Users/xxx/Library/Containers/com.123456.App/Data/";
NSURL * anUrl =[NSURL fileURLWithPath:stringPath ];
NSLog(@"nUrl %@",anUrl);
----> nUrl file:///Users/xxx/Library/Containers/com.123456.App/Data/