как зарегистрировать приложение для открытия файла PDF в моем приложении в iPad

я хочу открыть файл PDF в своем приложении от страницы PDF, но я не получаю опции открытия PDF в моем приложении.

этот мой info.plist файл

 <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>

скажите мне, где я неправ в этом, как я могу открыть файл PDF в своем приложении.

18
задан uttam 4 June 2010 в 12:54
поделиться

2 ответа

Я предполагаю, что вы пытаетесь открыть вложение из Почты на основе вашего списка здесь. Поскольку вам не принадлежит тип файла PDF, вы не можете объявить его как экспортируемый тип. Вам нужно только объявить его как поддерживаемый тип документа.

Например:

<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>

Список всех типов контента, предоставляемых системой , можно найти здесь или в UTCoreTypes.h .

Когда кто-то открывает PDF-файл и выбирает ваше приложение, этот файл будет скопирован в подкаталог Inbox вашей папки Documents в изолированной программной среде приложения. Затем ваше приложение будет открыто, и в делегата вашего приложения application: didFinishLaunchingWithOptions: ваш словарь launchOptions будет содержать ключ UIApplicationLaunchOptionsURLKey , указывающий URL-адрес файла в вашей песочнице. с которым потом можно работать.

50
ответ дан 30 November 2019 в 06:11
поделиться

Вы не сможете делать то, что пытаетесь сделать, если не выполните следующие действия:

  • Зарегистрируйте настраиваемый URL-адрес в системе
  • Вызовите этот настраиваемый URL-адрес из гиперссылки внутри PDF-файла
  • Создайте PDF с интерактивными ссылками

Это означает, что вы регистрируете пользовательский обработчик URL в своем info.plist. Например, предположим, что вы создали собственный обработчик URL-адресов с формой coolapp: //. Теперь внутри вашего документа, из которого вы генерируете PDF-файл, при создании гиперссылки используйте ваш собственный URL-адрес, например coolapp: // filedetails? Pdfurl = mywebsite.com / path / to / pdffile.pdf & pageno = 5. Затем вам нужно проанализировать это в -application: handleOpenURL: . Загрузите файл, указанный в поле pdfurl , а затем перейдите на страницу, указанную в pageno .

Имейте в виду, что это предполагает, что вы сами создаете рассматриваемый PDF-файл. Если вы не контролируете процесс создания содержимого PDF, вы не сможете делать то, что хотите. Невозможно открыть ваше приложение из произвольного PDF-файла. Это должно быть сделано с использованием настраиваемого URL-адреса.

Дайте мне знать, если вам нужны пояснения.

2
ответ дан 30 November 2019 в 06:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: