Старая запись - но я попал сюда и искал способ передать PDF в свое приложение.
Плист, изображенный Эшли Кларк, помогает мне зарегистрировать мое приложение как приложение, которое может принимать файл PDF в качестве параметра. +1 за него на этом: -)
<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>
Однако, чтобы полностью реализовать это, я использовал следующий метод в моем файле AppDelegate.m:
- (BOOL)application:(UIApplication *)application
openURL:(NSURL *)url
sourceApplication:(NSString *)sourceApplication
annotation:(id)annotation {
NSLog(@"sourceApplication: %@", sourceApplication);
NSLog(@"url: %@", url);
Вышеприведенное запускается, когда приложение открывается, когда я запускал Safari и у меня был PDF, которым я хотел поделиться оттуда.
Выше я могу определить, какое приложение передало моему приложению PDF-файл и URL-адрес его местоположения.
При запуске выдает следующее:
sourceApplication: com.apple.mobilesafari
url: file:///Users/me/Library/Developer/CoreSimulator/Devices/C395439F-7A0D-434F-8D78-D4615DB643E1/data/Containers/Data/Application/E3B181BC-6075-4F2C-923D-2ECC642DA555/Documents/Inbox/pdf-5.pdf
Затем я могу использовать URL-адрес, чтобы открыть PDF-файл и делать с ним все, что захочу, в своем приложении.