How do I access a file from Xcode’s “Supporting Files” group, in app?

I have an app that I’ve almost finish now that emails, at the end of a data entry flow, two .pdf files. One of these is generated from the entered data, the other is a static file that will be the same in every instance.

The first pdf is generating fine, it’s saved to the apps ‘documents’ folder, and I have successfully attached to to an email for sending. It’s the second .pdf, one that I made externally to the app and am trying to add, that is causing me grief.

  • How to delete ALL FILES in a specified directory on the app?
  • iTunes File Sharing app: realtime monitoring for incoming datas
  • First App Update, User Data Lost (was stored in Documents directory)
  • File system encryption for IOS?
  • Attach a PDF file to email - Swift
  • make mac package/bundle programmatically
  • I’ve added it to the ‘Supporting Files’ folder within my Xcode project, but after much searching on here, and elsewhere online, I can’t work out how to access that file to be able to add it as an attachment in the email.
    Having “downloaded” the app’s data from the Organizer in Xcode, I can see that the file isn’t there anywhere; presumably because Xcode can see that the file isn’t being used anywhere, it’s not adding it at build time (very much an assumption on my part), but I don’t know how to reference it anywhere because I don’t know where it will be to reference it!

    3 Solutions Collect From Internet About “How do I access a file from Xcode’s “Supporting Files” group, in app?”

    The Xcode does not generate any folders in your app bundle that corresponds to groups. Just make sure that your pdf is present in Copy Bundle Resources in your target’s Build Phases. You then access your resource under [[NSBundle mainBundle] bundlePath] path.

    If you want to access an image, this code is a good sample as how to:

    NSString* imageName = [[NSBundle mainBundle] pathForResource:@"image1" ofType:@"png"];
    NSImage* imageObj = [[NSImage alloc] initWithContentsOfFile:imageName];

    In Swift you can get the bundle-resorce-path with the following function:

    func currentresourcepath () -> String
        return (NSBundle.mainBundle().bundlePath + "/Contents/Resources/")