This question is mainly about protecting the content inside my iOS app. I intend to make an app that will download a lot of content (mainly PDF files) on user request. Once thes
You shouldn't be worried about someone getting a hold of the .ipa file and extracting the PDFs that way (since your app downloads the PDFs and they PDFs do not ship with the .ipa file).
There are, however, tools to let users browse the files within apps that are on their devices. For example, checkout iExplorer. You should note that users could potentially open any file -- so storing a password in a sqlite database is not a good idea. Using something like SFHKeychainUtils would be a more secure approach.
As far as setting a username/password for a PDF goes, here is some sample code (you can learn more from the CGPDFContext Reference):
NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys: @"letMeIn", kCGPDFContextOwnerPassword, @"r3adm3", kCGPDFContextUserPassword, nil];
[myPDFDocument writeToFile: @"/some/path" withOptions: options];
I would also suggest storing the file encrypted on the disk. You could use NSData+AES to do this. Here is another implementation of NSData+AES. When reading from the disk, you could hold the unencrypted NSData in memory and display a PDF from that instead of reading an unencrypted PDF from the disk.