i want to open the pdf file in my app from pdf page, but i am not getting any option of opening the pdf in my app.
this my info.plist file
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeName</key>
<string>PDF</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
<key>CFBundleTypeIconFiles</key>
<string>Icon.png</string>
<key>LSItemContentTypes</key>
<string>com.neosofttech.pdf</string>
<key>LSHandlerRank</key>
<string>Owner</string>
</dict>
</array>
<key>UTExportedTypeDeclarations</key>
<array>
<dict>
<key>UTTypeConformsTo</key>
<array>
<string>public.pdf</string>
</array>
<key>UTTypeDescription</key>
<string>PDFReader File</string>
<key>UTTypeIdentifier</key>
<string>com.neosofttech.pdf</string>
<key>UTTypeTagSpecification</key>
<dict>
<key>public.filename-extension</key>
<string>pdf</string>
</dict>
</dict>
pls tell me where i am wrong in this, how can i open the pdf file in my app.
On your Mac, open Apple Books. Then find your PDF file in the Finder or on your Desktop and drag the file into your Library. Your PDF will be available in the Books app on any iPhone, iPad, iPod touch, or Mac, as long as you're signed into the same Apple ID and have iCloud Drive turned on for Books.
PDF Expert took the crown way back in 2013 and PDF Expert continues to be the very best PDF option for iPads in 2021 and beyond. Many apps have come and gone, while others have debuted and given PDF Expert a run for its money.
Open and read PDFs on Android. Download and install Acrobat Reader from the Google Play Store. Launch the app. On the bottom menu bar, select Files. Locate your PDF file on your Android and select it.
I'm assuming that you're trying to open an attachment from within Mail based on your plist here. Since you don't own the PDF file type you can't declare it as an exported type. You only need to declare it as a supported document type.
For example:
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeName</key>
<string>PDF</string>
<key>LSHandlerRank</key>
<string>Alternate</string>
<key>LSItemContentTypes</key>
<array>
<string>com.adobe.pdf</string>
</array>
</dict>
</array>
You can find a list of all of the system supplied content types here or in UTCoreTypes.h
.
When someone does open a PDF file and chooses your application that file will be copied to an Inbox
subdirectory of your Documents
folder in your app sandbox. Your app will then be opened and within your app delegate's application:didFinishLaunchingWithOptions:
your launchOptions
dictionary will contain a UIApplicationLaunchOptionsURLKey
key specifying the URL of the file within your sandbox that you can then work with.
You can't do what you're trying to do unless you do the following:
So what this means is that you register a custom url handler in your info.plist. For example, let's say you create a custom url handler with the form coolapp://. Now, inside of your document from which you generate the PDF, when you create a hyperlink, have it use your custom URL, for example coolapp://filedetails?pdfurl=mywebsite.com/path/to/pdffile.pdf&pageno=5. You then have to parse this in -application:handleOpenURL:. Download the file specified in the pdfurl field and then jump to the page specified in pageno.
Keep in mind that this assumes you are creating the PDF in question yourself. If you do not control the PDF content creation process, you cannot do what you are wanting to do. There is no way to open your app from an arbitrary PDF. It has to be done using a custom URL.
Let me know if you need clarification.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With