Как получить доступ к документам из DropBox в моем приложении IOS - PullRequest
4 голосов
/ 11 ноября 2011

Я пытаюсь реализовать приложение IOS. Мне нужно, чтобы мое приложение получило доступ к документам (PDF, фото и т. Д.) Из приложения DropBox (на моем iphone есть приложение DropBox). Я новичок в разработке для iPhone, поэтому не имею представления о доступе к документу из DropBox.

Если кто-нибудь знает, пожалуйста, помогите мне. Заранее спасибо.

Ответы [ 2 ]

8 голосов
/ 11 ноября 2011

Для начала вам понадобится официальный Dropbox iOS SDK.Затем вам понадобится ключ приложения, который вы можете получить на веб-сайте Dropbox (выберите MyApps).Вы заметите, что Dropbox iOS SDK поставляется в комплекте с демонстрационным приложением, так что посмотрите.Кроме того, хорошее начальное руководство можно найти здесь .
Чтобы получить доступ к файлу, ваш код будет выглядеть примерно так:

 NSString* consumerKey; //fill your key
 NSString* consumerSecret ; //fill your secret
 DBSession* session = [[DBSession alloc] initWithConsumerKey:consumerKey 
       consumerSecret:consumerSecret];
 session.delegate = self;
 [DBSession setSharedSession:session];
 [session release];
 if (![[DBSession sharedSession] isLinked])
 {
        DBLoginController* controller = [[DBLoginController new] autorelease];
        controller.delegate = self;
        [controller presentFromController:self];
 }
 DBRestClient *rc = [[DBRestClient alloc] initWithSession:[DBSession sharedSession]];
 self.restClient = rc;
 [rc release];
 self.restClient.delegate = self;

 NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
 NSString *documentsDirectory = [paths objectAtIndex:0];
 NSString *filePath = [documentsDirectory stringByAppendingPathComponent:@"SampleFile.txt"];
 [self.restClient loadFile:@"/example/SampleFile.txt" intoPath:filePath];

Обратите внимание, что iOS Dropbox SDK требует iOS 4.2 илибольше.

0 голосов
/ 27 апреля 2017

Вы можете использовать класс UIDocumentMenuViewController для доступа к файлам из других приложений, которые делятся своими файлами.Вы можете найти все UTI здесь

import MobileCoreServices

class ViewController: UIViewController, UITextFieldDelegate, UIDocumentPickerDelegate, UIDocumentMenuDelegate {
  override func viewDidLoad() {
    super.viewDidLoad()
  }


  @IBAction func handleImportPickerPressed(sender: AnyObject) {
    let documentPicker = UIDocumentMenuViewController(documentTypes: [kUTTypePDF as String], in: .import)
    documentPicker.delegate = self
    present(documentPicker, animated: true, completion: nil)
  }

  // MARK:- UIDocumentMenuDelegate
  func documentMenu(_ documentMenu: UIDocumentMenuViewController, didPickDocumentPicker documentPicker: UIDocumentPickerViewController) {
    documentPicker.delegate = self
    present(documentPicker, animated: true, completion: nil)
  }

  // MARK:- UIDocumentPickerDelegate
  func documentPicker(_ controller: UIDocumentPickerViewController, didPickDocumentAt url: URL) {
    // Do something
    print("\(url)")
  }
}

Вы увидите этот вид экрана для выбора документа

image

...