无法在我的 iOS 应用程序中使用共享按钮?
Can't get a Share Button to work in my iOS App?
我无法在我当前的应用程序中使用共享按钮,我在我以前的应用程序中成功地使用了一个,但我无法在我的新应用程序中使用它。我认为这可能是因为我的第一个应用程序只有一个 ViewController 而这个应用程序有多个。我试图在不同的视图控制器中执行此操作,而不是默认的主视图控制器。不确定我做错了什么。
// MoreMenuViewController.h
#import <UIKit/UIKit.h>
@interface MoreMenuViewController : UIViewController
- (IBAction)tellFriend:(id)sender;
// MoreMenuViewController.m
#import "MoreMenuViewController.h"
@implementation MoreMenuViewController
- (IBAction)tellFriend:(id)sender
{
NSString *shareText = [NSString stringWithFormat:@"Check out Stories With Friends, a new word game for iPhone!"]; // Share message
NSArray *itemsToShare = @[shareText];
UIActivityViewController *activityVC =
[[UIActivityViewController alloc] initWithActivityItems:itemsToShare applicationActivities:nil];
activityVC.excludedActivityTypes = @[];
[MoreMenuViewController:activityVC animated:YES completion:nil];
}
对于最后一行代码,我得到一个错误:没有已知的 class 选择器方法 'animated:completion:.'
非常感谢帮助,谢谢!
尝试[self presentViewController:activityVC animated:YES completion:nil];
改为
您需要从 self
而不是 MoreMenuViewController:
调用此方法
[self presentViewController:activityVC
animated:YES
completion:nil];
如果你不需要排除类型,你也不需要调用这个 setter:
activityVC.excludedActivityTypes = @[];
更新:
Despite now being able to click the button the app crashes: -[MoreMenuViewController tellAFriend:]
这是因为你的方法的名称是 tellFriend:
而不是 tellAFriend:
你必须在没有重构的情况下从代码中重命名你的方法所以 linked IBAction 不知道改变。你需要做的是从你的 Storyboard 中删除这个 link 到你的实现文件。
单击您的按钮,然后单击操作 link 编辑到 tellAFriend
的十字:
我无法在我当前的应用程序中使用共享按钮,我在我以前的应用程序中成功地使用了一个,但我无法在我的新应用程序中使用它。我认为这可能是因为我的第一个应用程序只有一个 ViewController 而这个应用程序有多个。我试图在不同的视图控制器中执行此操作,而不是默认的主视图控制器。不确定我做错了什么。
// MoreMenuViewController.h
#import <UIKit/UIKit.h>
@interface MoreMenuViewController : UIViewController
- (IBAction)tellFriend:(id)sender;
// MoreMenuViewController.m
#import "MoreMenuViewController.h"
@implementation MoreMenuViewController
- (IBAction)tellFriend:(id)sender
{
NSString *shareText = [NSString stringWithFormat:@"Check out Stories With Friends, a new word game for iPhone!"]; // Share message
NSArray *itemsToShare = @[shareText];
UIActivityViewController *activityVC =
[[UIActivityViewController alloc] initWithActivityItems:itemsToShare applicationActivities:nil];
activityVC.excludedActivityTypes = @[];
[MoreMenuViewController:activityVC animated:YES completion:nil];
}
对于最后一行代码,我得到一个错误:没有已知的 class 选择器方法 'animated:completion:.'
非常感谢帮助,谢谢!
尝试[self presentViewController:activityVC animated:YES completion:nil];
改为
您需要从 self
而不是 MoreMenuViewController:
[self presentViewController:activityVC
animated:YES
completion:nil];
如果你不需要排除类型,你也不需要调用这个 setter:
activityVC.excludedActivityTypes = @[];
更新:
Despite now being able to click the button the app crashes: -[MoreMenuViewController tellAFriend:]
这是因为你的方法的名称是 tellFriend:
而不是 tellAFriend:
你必须在没有重构的情况下从代码中重命名你的方法所以 linked IBAction 不知道改变。你需要做的是从你的 Storyboard 中删除这个 link 到你的实现文件。
单击您的按钮,然后单击操作 link 编辑到 tellAFriend
的十字: