が起きているようです。ただし大多数のアプリは問題無く動作しているはずです。
2016/05/19追記
Twitter バージョン6.53.1、iOS 9.3.1 環境にて無事に動作する事を確認しました。
(やはりTwitterアプリ側の問題だったのではないかと思われます)
再現コード
single viewプロジェクト作成、test.pngをプロジェクトに突っ込んであります。
import UIKit
class ViewController: UIViewController {
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
guard let path = NSBundle.mainBundle().pathForResource("test", ofType: "png") else { return }
let url = NSURL(fileURLWithPath: path)
let vc = UIActivityViewController(activityItems: [url, "あいうえおかきくけこさしすせそたちつてと"], applicationActivities: nil)
presentViewController(vc, animated: true, completion: nil)
}
}
実行結果
投稿画面は正しく出ますが
Twitterアプリへ行くと...
下書きを見に行くと、パスが本文に入っちゃって文字数オーバーし、投稿にしくじっている事がわかります。
考察
画像パスからNSURL
オブジェクトを生成し、そいつをUIActivityViewController
に渡すと、2016年3月23日現在(Twitter バージョン6.49, iOS9.3)このような症状が起こるようです(*以前はこのようなことはありませんでした)。
中の仕組みがどうなっているかは判りませんが、おそらくTwitter公式アプリの方でNSURL
の情報をうまくさばけない不具合が起きているのではないかと推測しています(というかそうであってほしい)。
ちなみにUIImage
を直で渡している場合は特に問題は起きていませんので、大多数のアプリは影響を受けていないと思われます。
自分のアプリはどうしてもPNGやGIFといった素のバイナリデータを共有したかったためにこのような問題に当たりました。
Twitterの開発者サイトのフォーラムにも同じ報告が挙がっていたので、しばらくは様子を見るしかなさそうです。
https://twittercommunity.com/t/bug-in-ios-twitter-app-when-sharing-images-as-nsurl-with-uiactivityviewcontroller/63252