2016-07-29 2 views
1

Я хочу реализовать функцию загрузки файлов, такую ​​как Dropbox. Я использую Appcelerator. Эта функция может загружать файлы из Acrobat, iBook, Work, Excel, Drive и т. Д. И входить в iOS.Реализовать загрузку файлов, таких как Dropbox от Appcelerator

Я исследовал на Appcelerator, но не смог найти решения для этого.

Я не знаю, как получить доступ к локальному хранилищу на iOS или работать с другим приложением Appcelerator.

Можете ли вы дать мне какие-либо предложения об этой проблеме

Большое спасибо

ответ

0

Вы должны зарегистрироваться CFBundleDocumentTypes в вашем tiapp.xmlios элемент, который работает так же, как изменения Info.plist в Xcode бы для obj- C или Swift. Как только вы закончите, вы можете прослушать событие resume в своем приложении и посмотреть Ti.App.getArguments(), чтобы узнать, было ли ваше приложение запущено, выбрав «Открыть в» из другого приложения. Вы также можете посмотреть папку внутри Ti.Filesystem.applicationDataDirectory, чтобы увидеть, есть ли там какие-либо новые файлы - там, где iOS будет размещать их при совместном использовании их в вашем приложении.

Ваш код для обработки документа может выглядеть следующим образом (в вашем resume обработчиком):

var cmd = Ti.App.getArguments(), 
    inboxFiles = Ti.Filesystem.getFile(Ti.Filesystem.applicationDataDirectory, 'Inbox').getDirectoryListing() || []; 
if (inboxFiles.length > 0) { 
    inboxFiles = inboxFiles.sort(byLastCreated).map(toTiFile); 
    if (!cmd.url) { 
     cmd.url = inboxFiles[0].getNativePath(); 
    } 
    if (inboxFiles.length > 1) { 
     for (var i = inboxFiles.length - 1; i >= 1; i--) { 
      inboxFiles[i].deleteFile(); 
     } 
    } 
} 
if (cmd && cmd.url && cmd.url.indexOf('file://') === 0) { 
    // TODO: Do something interesting with cmd.url. 
}