Ios6 在ios设备上使用社交框架
我无法让社交框架在我的ios设备上正常运行,但是它在ios模拟器上运行得很好,但在我的iPad上却不行。有人能告诉我哪里出了问题吗。提前谢谢Ios6 在ios设备上使用社交框架,ios6,social-framework,slcomposeviewcontroller,Ios6,Social Framework,Slcomposeviewcontroller,我无法让社交框架在我的ios设备上正常运行,但是它在ios模拟器上运行得很好,但在我的iPad上却不行。有人能告诉我哪里出了问题吗。提前谢谢 - (IBAction)sharefb:(id)sender { if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]) { mySLComposerSheet = [[SLComposeViewController alloc] init]
- (IBAction)sharefb:(id)sender {
if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]) {
mySLComposerSheet = [[SLComposeViewController alloc] init];
mySLComposerSheet = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];
[mySLComposerSheet setInitialText:@"Share this app with your friends"];
[mySLComposerSheet addImage: [UIImage imageNamed:@"icon2.png"]];
[self presentViewController: mySLComposerSheet animated:
YES completion:nil];
}
[mySLComposerSheet setCompletionHandler:^
(SLComposeViewControllerResult result) {
NSString *output = [[NSString alloc] init];
switch (result) {
case SLComposeViewControllerResultCancelled:
output = @"Post Cancelled";
break;
case SLComposeViewControllerResultDone:
output = @"Posted successfully";
break;
default:
break;
}
}];
我只是将你的代码复制/粘贴到一个空白项目中,并在我的iPad上成功运行了它,所以我不确定问题出在哪里,但这里有几件事你可以试试 首先,在代码中使用这两行:
mySLComposerSheet = [[SLComposeViewController alloc] init];
mySLComposerSheet = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];
在composeviewcontrollerforservice type
之前调用composer上的alloc/init是不必要的,也是不明智的,因为它已经返回了一个SLComposeViewController对象。省略这两行中的第一行可以解决问题
其次,您确定项目中存在“icon2.png”吗?这不应该是问题的根源,但是更疯狂的事情已经发生了
第三,也不太可能,但由于间距和换行符的放置,可能会出现一些奇怪的不可见项,从而导致presentViewController
的参数出现问题。尝试将该行改写为如下所示:
[self presentViewController:mySLComposerSheet animated:YES completion:nil];
站点注意,您的
NSString*输出正在创建内存泄漏,除非它用于代码中未包含的其他内容。这一切都是从你的原始文章出发的,它并没有具体说明问题所在。若你们能更具体一点,我可能会更有帮助。你们说它不能正常工作是什么意思?你们在应用程序中添加了社交框架了吗?