こんにちは私はiOSの開発に不慣れです。socialClass.hという名前のクラスを作成します
#import <Social/Social.h>
#import <Accounts/Accounts.h>
- (void)facebookSharingStatusCheckCall:(NSString *)url image:(NSString *)img status:(NSString *)text viewCont:(UIViewController *)uiVew;
- (void)facebookForIosSix:(NSString *)url image:(NSString *)img status:(NSString *)text viewCont:(UIViewController *)uiVew;
そしてsocialClass.mで
- (void)facebookSharingStatusCheckCall:(NSString *)url image:(NSString *)img status:(NSString *)text viewCont:(UIViewController *)uiVew
{
if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]) {
NSLog(@"service available");
[self facebookForIosSix:url image:img status:text viewCont:uiVew];
} else {
// facebook for iOS 5 function will be called here
}
}
-(void)facebookForIosSix:(NSString *)url image:(NSString *)img status:(NSString *)text viewCont:(UIViewController *)uiVew
{
if([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]) {
SLComposeViewController *fbcontroller = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];
SLComposeViewControllerCompletionHandler myBlock = ^(SLComposeViewControllerResult result){
if (result == SLComposeViewControllerResultCancelled) {
NSLog(@"Post Cancelled");
} else
{
NSLog(@"Post Done");
}
[fbcontroller dismissViewControllerAnimated:YES completion:Nil];
};
fbcontroller.completionHandler =myBlock;
//Adding the Text to the facebook post value from iOS
[fbcontroller setInitialText:text];
//Adding the URL to the facebook post value from iOS
[fbcontroller addURL:[NSURL URLWithString:url]];
//Adding the Image to the facebook post value from iOS
[fbcontroller addImage:[UIImage imageNamed:img]];
[uiVew presentViewController:fbcontroller animated:YES completion:nil];
}
else{
UIAlertView *alertView = [[UIAlertView alloc]
initWithTitle:@"Sorry"
message:@"You can't Post a Status right now, make sure your device has an internet connection and you have at least one Twitter account setup"
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alertView show];
NSLog(@"UnAvailable");
}
}
ここで、mainViewController.hを呼び出します
#import "socialClass.h"
およびmainViewController.m
- (IBAction)facebookShareBtn:(id)sender {
[[socialClass facebookSharingStatusCheckCall:[[DataPassing sharedManager] pageURL ]
image:[[DataPassing sharedManager]
pageIMGurl]
status:[[DataPassing sharedManager] pageTEXT]]
viewCont:(UIViewController*)self];
}
以下のコードを自分で使用すると、エラーが発生します。確かに自己の見方がないからです
[自己presentViewController:fbcontrollerアニメーション:YES完了:nil]; だから私はuiViewを関数に入れて、mainViewControllerから自分自身を渡そうとします。再びメインビューでエラー
mainviewcontrollerの他の呼び出し関数からこのFacebookを使用するにはどうすればよいですか。どうも
[編集]
mainViewControllerでsocialClass.hを宣言し、ボタン[socialClass facebookForIosSix:...]で関数を呼び出します。
このエラーが発生しています...(UIViewController *)selfに更新した後