2016-02-18 21 views
6

iOS共有拡張機能を構築しています。ウェブページからデータを取得する必要があるので、JavaScriptファイルを使用してそのデータを取得し、拡張機能で使用するためにアプリに送り返します。NSExtensionJavaScriptPreprocessingFileを使用して画像を共有しない画像

私は以下に気づいた。 JavaScriptファイルでNSExtensionJavaScriptPreprocessingFileキーを設定すると、SLComposeServiceViewControllerが完璧に表示されますが、画像は表示されません。

enter image description here

私が削除した場合NSExtensionJavaScriptPreprocessingFileSLComposeServiceViewControllerはこのように現れる:

enter image description here

しかし、私はウェブページから一部のデータにアクセスする必要がある(このよう

私はJSでつかむ)しかし、私はまたそのイメージが必要です!私は完全に両方を取得する方法が失われているか、Appleのドキュメントが混乱しているので、それが可能かどうかわからない。

ありがとうございます!

+0

ここにも同じ闘いがあります。何を見つけたのですか? – SAHM

+0

何時間ものテストの後、私はあなたがどちらかを選ぶ必要があると信じています。 WebページからのpreviewImageとNSExtensionJavaScriptPreprocessingFileの両方を使用することはできません。私が探していた答えではありません。 – SAHM

答えて

1

この回答はわかりませんが、自分自身で共有機能に関する質問を探していて、役に立つかもしれないカップルを見つけました。一般的な考え方は、JavaScriptプリプロセッサを引き続き使用し、プレビュー画像を手動で設定することです。ここで説明するように

[itemProvider loadPreviewImageWithOptions:nil completionHandler:^(UIImage *image, NSError *error){ 

    if(image){ 
     //do anything here with the image 
    } 

} 

のようなもので画像を取得し iOS 8 Share Extension Safari Image

そしてloadPreviewViewをオーバーライドすることによってSLComposeServiceViewControllerのプレビュー画像を設定します。ここで説明するよう

override func loadPreviewView() -> UIView! {   
    imagePreviewView = UIImageView(image: UIImage(named: "imageName")) 
    return imagePreviewView 
} 

を: Change the preview image in an SLComposeServiceViewController

また、これがうまくいくかどうかわかりません。ちょうどそれが私が読んだことからすべきであるように思える。

+0

いいえ、私はこれが動作するとは思わない。 OPによって述べられた同じ問題は依然として立っている。 – SAHM

関連する問題