利用系统的UIPasteboard可以检测到系统剪切板是上的内容
首先在Appdelegate中
-(void)applicationWillEnterForeground:(UIApplication*)application {
NSLog(@”程序重新加载”);
[self getInvitationPush];
}
//[self getInvitationPush] 这个方法也要在- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 中调用
接下来:
- (void)getInvitationPush
{
UIPasteboard* pasteboard= [UIPasteboard generalPasteboard];
if(STRING_IS_NIL(pasteboard.string) ) {
return;
}
NSString* pasteUserDefaultStr = [[NSUserDefaults standardUserDefaults]objectForKey:@"pasteboardString"];
if(![pasteboard.stringrangeOfString:@"设定的标识符"].location!=NSNotFound)
{
return;
}
if(pasteUserDefaultStr ==nil|| [pasteUserDefaultStr isEqualToString:@""] || ![pasteUserDefaultStr isEqualToString:pasteboard.string]) {
//弹出添加
UIAlertView* alert = [[UIAlertView alloc]initWithTitle:@"提示"message:@"是否使用XXX"delegate:self cancelButtonTitle:@"添加"otherButtonTitles:@"取消",nil];
alert.tag=3001;
[alertshow];
[[NSUserDefaults standardUserDefaults]setObject:pasteboard.string forKey:@"pasteboardString"];
}}
然后在Alert中用户点击查看 跳入相应的页面 用 componentsSeparatedByString取到最后的code就可以
InvitationCodeViewController* VC = [[InvitationCodeViewControlleralloc]init]; //这是你想要跳入的界面
UINavigationController* Nav = [[UINavigationControlleralloc]initWithRootViewController:VC];
[self.window.rootViewControllerpresentViewController:Navanimated:YEScompletion:nil];
最后建立一个单例 将code记录下来
网友评论