任意のファイル名で「ファイルに保存」する
UIActivityViewController
で「ファイルに保存」を選択した際に、
なんか適当なファイル名が適用されてしまうので、
それをなんとかする方法を調べてました。
一度、適当なファイルに書き出せば、
その際のファイル名が適用されるって書いてあるのを見かけて、
お試しでやったらうまくいったので自分用にメモです。
(これ書いてて気づいたけど、エラー時に続行したらいけないやつだ…)
// let text = "書き出したい文字列" let path = NSTemporaryDirectory() + "test.txt" let url = URL( fileURLWithPath: path ) do { try text.write( to: url, atomically: true, encoding: .utf8 ) } catch { print( error ) } let activityController = UIActivityViewController( activityItems: [ url ], applicationActivities: nil ) activityController.popoverPresentationController?.sourceView = self.view activityController.popoverPresentationController?.sourceRect = self.view.frame self.present( activityController, animated: true )
でも今、作ってるアプリで実装してみたんだけどボツになったので、
ブログでお焚き上げしました。
ボツになった理由ですが、「ファイルに保存」とか、
メール等の添付ファイルに適用されることは良いのですが、
例えば、そもそもファイル添付されたくない場合(コピー等)もあるので、
UIActivityViewController
で選べるアイコンを制限した上で、
ファイル名を適用したい場合に、この記事を書いたことを思い出したいと思います。
おしまい。
Leave a Comment