4

画像があり、Instagramにエクスポートしたいので、投稿できます。

私が使用しているコードは次のとおりです。

NSURL *instagramURL = [NSURL URLWithString:@"instagram://location?id=1"];
if ([[UIApplication sharedApplication] canOpenURL:instagramURL]) {
    NSString *documentsDirectory = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];
    NSString *savedImagePath = [documentsDirectory stringByAppendingPathComponent:@"Image.igo"];

    UIImage *image = [UIImage imageNamed:@"01.png"];

    NSData *imageData = UIImagePNGRepresentation(image);
    [imageData writeToFile:savedImagePath atomically:YES];        
    NSURL *imageUrl = [NSURL fileURLWithPath:savedImagePath];
    NSLog(@"%@",imageUrl);
    UIDocumentInteractionController *docController = [[UIDocumentInteractionController alloc] init];        
    docController.delegate = self;
    docController.UTI = @"com.instagram.exclusivegram";
    docController.URL = imageUrl;
    //[docController setURL:imageUrl];
    [docController presentOpenInMenuFromRect:CGRectZero inView:self.view animated:YES]; 
}

アプリを実行すると、アプリに「Instagram」と書かれたアイコンが表示されますが、タッチするとボタンが消えて何も起こりません。アプリはクラッシュしませんでしたが、何も起こりません。

コードで見逃したことは何ですか?

ブルーノよろしく

4

1 に答える 1

3

問題は、を保持しないことだと思いますUIDocumentInteractionController。クラスでそのためのivarを作成します。

documentInteractionController:didEndSendingToApplication:メソッドがデリゲートで呼び出されていることを確認してください。

Instagramのドキュメントもチェックしてください:http://instagram.com/developer/iphone-hooks/

トリガーされると、Instagramはすぐにユーザーにフィルター画面を表示します。画像はプリロードされ、Instagramに適したサイズになっています。上記の適切な画像形式を使用する場合を除き、唯一の要件は、画像の高さおよび/または幅が612px以上であることです。最良の結果を得るには、Instagramは612pxx612pxの正方形のJPEGを開くことを好みます。画像が大きい場合は、動的にサイズ変更されます。

Instagramがインストールされていることを確認するには、URLを確認してくださいinstagram://app。このURLinstagram://location?id=LOCATION_IDは、ロケーションフィードのみを対象としています。

于 2012-08-27T11:42:39.937 に答える