• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Why is NSString->FSRef so hard?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Why is NSString->FSRef so hard?


  • Subject: Re: Why is NSString->FSRef so hard?
  • From: "Stephen J. Butler" <email@hidden>
  • Date: Sat, 25 Apr 2009 19:04:55 -0500

On Sat, Apr 25, 2009 at 6:33 PM, Erg Consultant
<email@hidden> wrote:
> I am trying to convert an NSString containing a path to a file directly to an FSRef. If there are no special characters in the path, it's easy - I can go from NSString to CFURL to FSRef.
>
> But if the path contains any special characters at all, both CFURL and NSURL creation routines fail. No matter what I do, or which routines I use, it won't work.
>
> Unfortunately I am stuck with some 3rd party apps that have special characters like (tm) in their bundle names and I can't change them.
>
> Isn't there some easy way to get an FSRef from an NSString that is a path containing special characters?

Works for me. My suspicion is that you aren't properly creating your
NSString in the first place.

#import <Foundation/Foundation.h>

int main (int argc, const char * argv[]) {
    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];

    if (argc != 2) {
        NSLog( @"usage: <file/directory path>" );
        [pool drain];
        return 1;
    }

    NSString *filePath = [NSString stringWithCString:argv[ 1 ]
encoding:NSUTF8StringEncoding];
    NSLog( @"filePath = %@", filePath );

    NSURL *fileURL = [NSURL fileURLWithPath:filePath];
    NSLog( @"fileURL = %@", [fileURL absoluteURL] );

    FSRef fileFSRef;
    if (CFURLGetFSRef( (CFURLRef)fileURL, &fileFSRef )) {
        NSLog( @"Created FSRef!" );
    } else {
        NSLog( @"Failed to create FSRef." );
    }

    [pool drain];
    return 0;
}
_______________________________________________

Cocoa-dev mailing list (email@hidden)

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:

This email sent to email@hidden

References: 
 >Why is NSString->FSRef so hard? (From: Erg Consultant <email@hidden>)

  • Prev by Date: Re: Why is NSString->FSRef so hard?
  • Next by Date: Re: Auxiliary background executable without dock icon but with some UI
  • Previous by thread: Re: Why is NSString->FSRef so hard?
  • Next by thread: Re: Why is NSString->FSRef so hard?
  • Index(es):
    • Date
    • Thread