openURL lokalny plik lub wymuszenie na UIDocumentInteractionController użycia określonej aplikacji

Chcę otworzyć plik (przechowywany lokalnie w mojej aplikacji) za pomocą innej aplikacji.

Obecnie używam openURL (jest dedykowany schemat url) i działa dobrze, jeśli używam pliku hostowanego w Internecie, ale chciałbym użyć lokalnego pliku, więc: a) działa offline b) dużo czas, w którym moi użytkownicy są poza zasięgiem strefy komórkowej lub korzystają z roamingu na całym świecie

Co próbowałem do tej pory: nie miałem szczęścia powiedzieć OpenURL, aby używał lokalnego pliku, próbowałem kilku podejść, ale wszystkie są podobne do tego

      NSString *filePath = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"ext"];
      NSURL *fileURL = [NSURL fileURLWithPath:filePath];
      [[UIApplication sharedApplication] openURL:fileURL];

również

      NSURL *fileURL = [[NSBundle mainBundle] URLForResource: @"test" withExtension:@"ext"];
      [[UIApplication sharedApplication] openURL:fileURL];

również ręcznie używając łańcuchów z różnymi wariantami ścieżek localhost / i file: // i var / mobile itp

nic nie działa (dla mnie i tak)

Więc rozejrzałem się wokół i natknąłem sięUIDocumentInteractionController

Jestem w stanie użyć UIDocumentInteractionController, aby umożliwić użytkownikowi otwieranie mojego lokalnego pliku za pomocą innej aplikacji - jednak zawsze prezentuje wiele opcji innych aplikacji do użycia i na przykład jedną z innych aplikacji może być „Dropbox”.

Nie chcę pozwolić użytkownikowi na pobieranie (lub przesyłanie techniczne) kopii mojego pliku w celu ich wykorzystania w inny sposób. Zawiera dane, których wolałbym nie udostępniać tak łatwo.

Gdy plik jest otwierany przez moją zamierzoną aplikację (nie wykonaną przeze mnie), nie pozwala na żadne zapisywanie lub dostęp do surowych danych.

Zdaję sobie sprawę, że dołączając plik do mojej aplikacji, każdy, kto poważnie myśli o jego uzyskaniu, będzie w stanie, po prostu nie chcę zamieniać dużego menu mówiącego „Oto, czy chcesz, aby twoja kopia tworzyła pochodną”

W idealnej sytuacji mógłbym użyć openURL, ale myślę, że to z powodu „piaskownicy”, na którą inna aplikacja nie odpowiada - w Androidzie używam mode_world_readable, aby zadeklarować plik jako czytelny dla innych aplikacji (dlatego umieszczając go poza piaskownicą i to nie pozwala innym aplikacjom na pisanie do niego, po prostu czytać) - czy jest tak samo w przypadku iOS?

W przeciwnym razie, jeśli mógłbym zmusić kontroler UIDocumentInteractionController do używania określonej aplikacji i nie wyświetlać menu - to też byłoby w porządku.

Podobne pytanie zadano jakiś czas temu

Przepraszam za długie czytanie, każda pomoc jest doceniana.

Edytuj: Właśnie otrzymałem odpowiedź od wsparcia Apple Tech i powiedzieli mi, że jest to obecnie niemożliwe (tuż po wydaniu iOS 6)

questionAnswers(1)

yourAnswerToTheQuestion