On 24 Aug 2012, at 00:33, Graham Cox wrote:

> 
> On 24/08/2012, at 3:11 AM, Greg Parker <gpar...@apple.com> wrote:
> 
>> On Aug 22, 2012, at 7:14 PM, Graham Cox <graham....@bigpond.com> wrote:
>>> Turns out the problem I was having with this is because of the behaviour of 
>>> [NSURL fileURLWithPath:isDirectory:].
>>> 
>>> When I passed the path to the iPhoto database file (~/Pictures/iPhoto 
>>> Library/Album.xml) the resulting URL was bizarrely altered to point to some 
>>> non-existent path within my sandbox. In fact it looks like a bug because it 
>>> ended up concatenating 'file://' somewhere in the middle of the path which 
>>> makes no sense.
>> 
>> From the +fileURLWithPath:isDirectory: documentation:
>> "If path begins with a tilde, it must first be expanded with 
>> stringByExpandingTildeInPath."
>> 
>> Note also that paths with '~' in them are treated differently in sandboxed 
>> apps.
> 
> In fact the string doesn't contain a tilde. I think in summarising my issue I 
> glossed over the exact situation, which is that I have a string which is 
> "file://localhost/Users/<me>/Pictures/iPhoto Library/Album.xml". This string 
> is extracted from the preferences of com.apple.iApps plist as being the path 
> to the current iPhoto database.
> 
> In my old code, which used NSString path processing methods, everything 
> worked fine even though the string is prefixed with "file://". The presence 
> of this prefix didn't cause any issues with accessing the file using 
> path-based APIs. Because of that I was not really aware that it was a URL 
> rather than just a path until I tried to update my code to use NSURLs.

I’m surprised by this. The path-based APIs were seriously handling a path 
beginning with file:// in the way that you expect? What were you handing this 
“path” off to? +[NSDictionary dictionaryWithContentsOfFile:] ?


_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to