UIWebView:loadRequest を使用して、URL から設定された NSURLRequest を使用してローカル ファイルを開いています。
URL のベースの場所は、次を使用して取得されます。
baseDirectory = [[NSFileManager defaultManager] URLForDirectory:NSApplicationSupportDirectory
inDomain:NSUserDomainMask
appropriateForURL:nil
create: YES
error:&err];
これは、次の形式の URL を返します。
file://localhost/var/mobile/Applications/Library/ApplicationSupport/ABC/XYZ/page.html
ただし、UIWebViewDelegate shouldStartLoadForRequest:(NSURLRequest*) メソッドが呼び出されると、渡される NSURLRequest が次のように変更されます。
file:///var/mobile/Applications/Library/ApplicationSupport/ABC/XYZ/page.html
したがって、これらは両方とも同じファイルを参照しますが、2 つを比較する必要がある状況があり (/ABC/XYZ/page.html の部分を比較する必要があります)、2 つを比較すると NSURL:isEqual は NO を返します。 .
a) file://localhost/var/mobile/... の代わりに file:///var/mobile/... を返す NSFileManager のメソッド
また
b) /ABC/XYZ/page.html 部分だけを簡単に抽出し、それを比較しますか?