回答編集履歴

1

かきかえ

2019/06/26 05:31

投稿

takabosoft
takabosoft

スコア8356

test CHANGED
@@ -2,10 +2,38 @@
2
2
 
3
3
 
4
4
 
5
+ まずは、ドキュメントをフォルダを公開し、直接編集を許可する必要があるようです。
6
+
5
- 自分の知識は古いのでちょっと自信ないですが、iOSはサンドボックス内でアプリが動作するため、自分のアプリのDocumentsやLibrary内のァイルを他のアプリが直接アクセスすることはできません。
7
+ [iOS 11ファイルAppにDocumentsフ表示して他のアプリと共有する方法](https://qiita.com/ShingoFukuyama/items/e85d34360f3f951ca612)
6
8
 
7
9
 
8
10
 
9
- よくある外部ビーアと連携は、ファイルの複製送っているため、他のアプリでいく変更しようとも、自分のアプリからは変更検知できません
11
+ これで自分のドキメントフォルダPDFファイルをファイルアプリAcrobat Readerアプリを使って直接編集できることをずは確認してください(チェックポイント1)
10
12
 
13
+
14
+
15
+ 次に、UIDocumentInteractionControllerのイニシャライザに自分のドキュメントフォルダのPDFファイルを渡してpresentOptionsMenuします。
16
+
17
+
18
+
11
- (再度外部アプリから自分のアプリに手動てもらえれば変更後ファイルを見られますが
19
+ この時に表示されるUIは自分の環境は安定しなかすが
20
+
21
+ 「Copy to Acrobat」と表示される場合と、「Open In Actobat」と表示されるときと2パターンありました(ちょっと端末にベータ入れてるせいもあると思うので原因はわかりませんが、一度Copy Toをタップしたあとだと何故かOpen Inに変わったりしました)。
22
+
23
+
24
+
25
+ 「Open In Acrobat」をタップすると、Acrobat Readerアプリが立ち上がり、編集終了後に「ファイル」アプリを使ってPDFファイルが更新されていることを確認してください(チェックポイント2)。
26
+
27
+
28
+
29
+ ここまで動けば、あとはドキュメントフォルダの監視をするだけです。
30
+
31
+ [NSFileCoordinator/NSFilePresenterを使ってディレクトリ監視](https://qiita.com/hanamiju/items/2a9f9edaa832a79733eb)
32
+
33
+ を参考にしてください。
34
+
35
+
36
+
37
+ 手元で試した感じではAcrobat側が更新するとpresentedSubitemDidChange(at:)が呼ばれるようでした。
38
+
39
+ ここで変更を検出できればゴールかと思います。