アプリ内に Web ページをロードする単純なアプリケーションがあります。iOS 8 ではカスタム を使用し、UIWebViewController
iOS VideoWebViewController
9 ではSFSafariViewController
. 内にはVideoWebViewController
、 が呼び出されたときに呼び出される次のメソッドがありますUIActivityViewController
。
NSString *currentURL = self.webView.request.URL.absoluteString;
// This method gets called when the user hits the right bar button item; the share sheet.
NSURL *facebook = [[NSURL alloc] initWithString:@"http://www.facebook.com"];
NSURL *twitter = [[NSURL alloc] initWithString:@"http://twitter.com"];
NSString *forwardedString = [[NSString alloc] initWithFormat:@"Check this out %@, %@", facebook, twitter];
UIActivityViewController *activityViewController = nil;
activityViewController = [[UIActivityViewController alloc] initWithActivityItems:[NSArray arrayWithObjects:forwardedString, nil] applicationActivities:nil];
を呼び出すときはVideoWebViewController
、次のようにしています。
VideoWebViewController *video = [[VideoWebViewController alloc] init];
UINavigationController *navigation = [[UINavigationController alloc] initWithRootViewController:video];
[self presentViewController:navigation animated:YES completion:nil];
[video setSelectedVideo:@"https://www.youtube.com"];
を呼び出すときはSFSafariViewController
、次のようにしています。
SFSafariViewController *safariVC = [[SFSafariViewController alloc] initWithURL:[NSURL URLWithString:@"https://www.youtube.com/"]entersReaderIfAvailable:NO];
safariVC.delegate = self;
[self presentViewController:safariVC animated:YES completion:nil];
問題
UIActivityViewController
で が呼び出されたときのテキストを正確にカスタマイズするにはどうすればよいSFSafariViewController
でしょうか。VideoWebViewController
カスタムサブクラスを設定しているので で簡単にできますが、 SFSafariViewController
?でそれを行う方法があるかどうかわかりません。ユーザーが で共有シート (UIActivityViewController) を選択すると、SFSafariViewController
カスタム テキストを追加したいだけです。
アップデート
SFSafariViewController のカスタム サブクラスを作成しましたが、ユーザーが ShareSheet (UIActivityViewController) を選択したときに発生するメソッドを呼び出す方法がわかりません。
これに関するガイダンスをいただければ幸いです。
アップデート
これは可能ではないように見えるので、Apple にバグレポートを作成しました: https://bugreport.apple.com/problem/viewproblem