瀏覽代碼

Fix: iOS PsiphonTunnel returning null if file path contains spaces

* Fixes +[NSURL URLWithString:] returning null if file path is not
  percent-encoded (containing space instead of %20).
Amir Khan 1 年之前
父節點
當前提交
21ff4cdcad
共有 1 個文件被更改,包括 6 次插入3 次删除
  1. 6 3
      MobileLibrary/iOS/PsiphonTunnel/PsiphonTunnel/PsiphonTunnel.m

+ 6 - 3
MobileLibrary/iOS/PsiphonTunnel/PsiphonTunnel/PsiphonTunnel.m

@@ -192,17 +192,20 @@ typedef NS_ERROR_ENUM(PsiphonTunnelErrorDomain, PsiphonTunnelErrorCode) {
 
 
 // See comment in header
 // See comment in header
 + (NSURL*)homepageFilePath:(NSURL*)dataRootDirectory {
 + (NSURL*)homepageFilePath:(NSURL*)dataRootDirectory {
-    return [NSURL URLWithString:GoPsiHomepageFilePath(dataRootDirectory.path)];
+    return [NSURL fileURLWithPath:GoPsiHomepageFilePath(dataRootDirectory.path)
+                      isDirectory:FALSE];
 }
 }
 
 
 // See comment in header
 // See comment in header
 + (NSURL*)noticesFilePath:(NSURL*)dataRootDirectory {
 + (NSURL*)noticesFilePath:(NSURL*)dataRootDirectory {
-    return [NSURL URLWithString:GoPsiNoticesFilePath(dataRootDirectory.path)];
+    return [NSURL fileURLWithPath:GoPsiNoticesFilePath(dataRootDirectory.path)
+                      isDirectory:FALSE];
 }
 }
 
 
 // See comment in header
 // See comment in header
 + (NSURL*)olderNoticesFilePath:(NSURL*)dataRootDirectory {
 + (NSURL*)olderNoticesFilePath:(NSURL*)dataRootDirectory {
-    return [NSURL URLWithString:GoPsiOldNoticesFilePath(dataRootDirectory.path)];
+    return [NSURL fileURLWithPath:GoPsiOldNoticesFilePath(dataRootDirectory.path)
+                      isDirectory:FALSE];
 }
 }
 
 
 // See comment in header
 // See comment in header