The easiest possibility is to use file type association. There are already many tutorials out there, as the concept is already quite established, so I'll just walk you through the main keywords here.
The first thing to determine are the Uniform Type Identifiers (UTI) you want to support. Here is a list of the currently available UTIs from Apple.
Then, in your Xcode project open up the target, and go to the Info tab. There you will find the Document Types entry.
Open it up, and hit the plus sign to add a new document type. Specify a name and the UTI you want to support (in this example I picked PDF):

Note that you also need to supply additional document properties. Most tutorials put in (LSHandlerRank, Alternate)
as key, value pair, but I did not find any reason for this. It seems to work with (foo, bar)
as well.
Next, run your app to make it register on the device.
When you now have a PDF, say an attachment in your Mail app, your app will now appear on the list:

Finally, in your AppDelegate you need to implement the following method:
-(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
NSLog(@"App opened with url %@", url);
return YES;
}
which is called whenever your app received a PDF. The files will go into a special folder called 'Inbox', and the url will tell you the name of the file that has been supplied.
EDIT
This is a sample console output from my iPhone:
2015-03-19 15:27:32.841 so 29147257[3951:1529409] App opened with url file:///private/var/mobile/Containers/Data/Application/A5723926-F869-49C0-A2AF-756795932B81/Documents/Inbox/first-1.pdf