0

所以我的代码说

no visible @interface for UIImagePicker Controller

我正在使用选项卡视图控制器我的 FirstViewController.m 代码是

#import "FirstViewController.h"
@interface FirstViewController () <UIImagePickerControllerDelegate, UINavigationControllerDelegate> {
UIImagePickerController *bailey;
UIImagePickerController *baileys;
UIImage *image;
IBOutlet UIImageView *imageView;
}
-  (IBAction)takePhoto;
-  (IBAction)chooseExisting;
@end
@implementation FirstViewController
 - (IBAction)takePhoto {
bailey = [[UIImagePickerController alloc]init];
bailey.delegate = self;
[bailey setSourceType:UIImagePickerControllerSourceTypeCamera];
[self presentViewController:bailey animated:YES completion:NULL];
}
- (IBAction)chooseExisting {
baileys = [[UIImagePickerController alloc] init];
baileys.delegate = self;
[baileys setSourceType:UIImagePickerControllerSourceTypePhotoLibrary];
[self presentViewController:baileys animated:YES completion:NULL];
}
- (void) imagePickerController:(UIImagePickerController *)picker                 didFinishPickingMediaWithInfo:(NSDictionary *)info {
image = [info objectForKey:UIImagePickerControllerOriginalImage];
[imageView setImage:image];
[self dismissViewControllerAnimated:YES completion:NULL];
}
- (void) imagePickerControllerDidCancel:(UIImagePickerController *)bailey {
[self dismissViewControllerAnimated:YES completion:NULL];
}
- (IBAction)ShareFB {
if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]) {
    slComposeViewController = [SLComposeViewController     composeViewControllerForServiceType:SLServiceTypeFacebook];
    [slComposeViewController addImage:[UIImage imageNamed:@"image"]];
    [slComposeViewController addURL:[NSURL URLWithString:@"http://www.agfg.com.au"]];
    [self presentViewController:slComposeViewController animated:YES completion:NULL];
    //I borrowed these lines of code from http://www.bit.ly/174eqjy
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,     NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];
    NSString *appFile = [documentsDirectory stringByAppendingString:@"upload.png"];
    NSString *upLoad = [documentsDirectory stringByAppendingString:@"upload.png"];
    NSData *myData = [[NSData alloc]initWithContentsOfFile:appFile];
    //Here is the line that fails
    [bailey addAttachmentData:myData mimeType:@"image/png" fileName:@"upload"];
    //Up to here are the borrowed code lines.
    }
    else {
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"No Facebook Account     Detected" message:@"There are no Facebook Accounts Detected. You can configure them in Settings." delegate:nil cancelButtonTitle:@"Dismiss" otherButtonTitles:nil];
    [alert show];

    }}
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}

- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end

我的 FirstViewController.h 代码是

#import <UIKit/UIKit.h>
#import <Social/Social.h>
 @interface FirstViewController : UIViewController {SLComposeViewController    *slComposeViewController;
UIImage *upLoad;}
- (IBAction)ShareFB;
@end

我的应用程序旨在拍照并显示照片(它会这样做),然后将该图像保存到应用程序上的本地文档文件夹(我从另一篇文章中获得),然后指定该图像以上传到 Facebook(我有)

除了保存到本地文档之外,所有这些都有效。

4

2 回答 2

0

如果您需要将文件存储在文档目录中,请像这样使用,

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0]; // Get documents folder
NSString *dataPath = [documentsDirectory stringByAppendingPathComponent:@"Images"];

if (![[NSFileManager defaultManager] fileExistsAtPath:dataPath])
{
            [[NSFileManager defaultManager] createDirectoryAtPath:dataPath withIntermediateDirectories:NO attributes:nil error:nil];
}

NSString *imageFilePath = [NSString stringWithFormat:@"%@/%@",dataPath,@"upload.png"];

UIImage *image = [UIImage imageNamed:@"image"]; //Here place your image
NSData *imageData = [NSData dataWithData:UIImagePNGRepresentation(image)];
[imageData writeToFile:imageFilePath atomically:YES];

如果您需要在 facebook 中附加图像,请使用此语句,

[slComposeViewController
 addAttachmentData:UIImagePNGRepresentation(image, 1) mimeType:@"image/png" fileName:@"upload.png"];
于 2013-10-03T06:50:25.677 回答
0

在 Karthika 和他的 facebook 上传代码的帮助下,当我意识到我不需要实现本地文档保存时,我正在输入它。

Facebook 让我在不保存的情况下添加图像。

感谢 Karthika,没有你我做不到。

于 2013-10-04T11:17:45.727 回答