如何让我的应用程序显示在Open in ...菜单中。 Appcelerator的

时间:2017-06-26 11:27:53

标签: ios types titanium appcelerator document

我想做同样的事情,在苹果文档中解释这篇文章,但在Appcelerator Titanium中。我搜索了Appcelerator网站并没有找到方法。有人知道吗? https://developer.apple.com/library/content/qa/qa1587/_index.html

1 个答案:

答案 0 :(得分:1)

您需要在tiapp.xml

中注册您希望能够处理的文件
<?xml version="1.0" encoding="UTF-8"?>
<ti:app xmlns:ti="http://ti.appcelerator.org">
    <ios>
        <plist>
            <dict>
                <key>CFBundleDocumentTypes</key>
                <array>
                    <dict>
                        <key>CFBundleTypeName</key>
                        <string>Add to Housters</string>
                        <key>CFBundleTypeRole</key>
                        <string>Viewer</string>
                        <key>LSHandlerRank</key>
                        <string>Owner</string>
                        <key>LSItemContentTypes</key>
                        <array>
                            <string>com.adobe.pdf</string>
                            <string>com.microsoft.word.doc</string>
                        </array>
                    </dict>
                </array>
            </dict>
        </plist>
    </ios>
</ti:app>

然后,在您的应用程序代码中,每次触发resume事件时(例如Ti.App.addEventListener('resume', resume);),您都可以查看Ti.App.getArguments().url以查看您的应用已通过另一个应用程序打开。在我的应用中,我这样做,另外我扫描Inbox文件夹以查看是否有任何内容。当另一个应用程序在您的应用程序中打开文档时,它会被复制到此目录中,然后您的应用程序将启动。因此Ti.Filesystem.getFile(Ti.Filesystem.applicationDataDirectory, 'Inbox').getDirectoryListing() || []将为您提供所有文档的数组,然后您可以移出该目录,或处理和删除。