【发布时间】:2015-04-29 14:25:45
【问题描述】:
自从我更新到 iOS 8.3 后,我的应用程序上的 UIActivityViewController 出现问题。 Twitter、Mail 和 Messages 显示正常,但 Facebook 不存在。我检查了我的代码以确保我没有不小心将其列在排除的活动中,并确保我在手机设置中登录 Facebook。我可以验证它是否适用于模拟器,但不适用于我的手机。有什么想法吗?
更新
不知何故,它与 Facebook 应用程序本身有关。如果我从 iPhone 中删除 Facebook,通过 Facebook 分享的选项又回来了。如果我重新安装 Facebook 应用程序,我将无法再分享到 Facebook。任何想法为什么这样做?
-(IBAction) invite {
NSCalendar* gregorian = [[[NSCalendar alloc] initWithCalendarIdentifier: NSGregorianCalendar] autorelease];
NSDateComponents* theDateComponents = [gregorian components: NSWeekdayCalendarUnit fromDate: [NSDate date]];
NSInteger weekDay = theDateComponents.weekday;
if ( weekDay == 1 || weekDay >= 5 ) {
NSString *invitation = @"Join me @ Fritch Church of Christ Sunday! Bible Class @9:45AM Worship @10:45AM & 6:00PM!";
NSArray *activityItems = @[invitation];
UIActivityViewController *activityVC = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:nil];
activityVC.excludedActivityTypes = @[ UIActivityTypePostToWeibo,
UIActivityTypeCopyToPasteboard,
UIActivityTypeAssignToContact,
UIActivityTypePrint ];
if( UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad )
{
UIPopoverController* aPopover = [[UIPopoverController alloc] initWithContentViewController:activityVC];
[aPopover presentPopoverFromRect:[invite frame] inView:self.view permittedArrowDirections:UIPopoverArrowDirectionLeft animated:YES];
}
else {
[self presentViewController:activityVC animated:YES completion:nil];
}
}
else {
NSString *invitation = @"Join me @ Fritch Church of Christ this Wednesday! Devotional & Bible Class @7!";
NSArray *activityItems = @[invitation];
UIActivityViewController *activityVC = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:nil];
activityVC.excludedActivityTypes = @[ UIActivityTypePostToWeibo,
UIActivityTypeCopyToPasteboard,
UIActivityTypeAssignToContact,
UIActivityTypePrint ];
if( UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad )
{
UIPopoverController* aPopover = [[UIPopoverController alloc] initWithContentViewController:activityVC];
[aPopover presentPopoverFromRect:[invite frame] inView:self.view permittedArrowDirections:UIPopoverArrowDirectionLeft animated:YES];
}
else {
[self presentViewController:activityVC animated:YES completion:nil];
}
}
}
来自模拟器
来自实际 iPhone(均已登录 Facebook)
【问题讨论】:
-
正如我在帖子中已经提到的,我已登录。
-
你测试用的是什么版本的iphone?
标签: ios facebook uiactivityviewcontroller