iOS 摇一摇进入第三方应用

大家在使用App的时候是不是经常感觉莫名其妙,本来是点击启动的A,一不留神变成了B。这种情况真的是太卑鄙了,STMD想出来的?
不过在骂归骂,作为码龙,我们还是要知道他们是怎么做的,虽然很简单。

  • 监听摇一摇
//启动页 控制器
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController

- (void)viewDidLoad {
   [super viewDidLoad];

  //监听摇一摇
  [[UIApplication sharedApplication] setApplicationSupporShakeToEdit:YES];

  // 让当前控制器成为第一响应者
  [self becomeFirstResponder];
}

//运动姿势 响应
- (void) )motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event { 
  NSLog(@"检测到运动姿势到来,准备响应姿势");
}
- (void) )motionCancelled:(UIEventSubtype)motion withEvent:(UIEvent *)event { 

  NSLog(@"运动中……,不知道怎么取消");
}
- (void) )motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event { 
  NSLog(@"运动结束,screen都跑人家去了,这个方法有什么用呢?销毁self?");
}
  • 跳转三方应用
    白名单:它就是一个数组,里面放的是其他可跳转app的URL Scheme名字,跳转之前可以用canOpenURL判断是否可以跳转。添加URL Scheme可在app的info.plist设置,白名单的字段是:LSApplicationQueriesSchemes,
NSURL *url = [NSURL URLWithString:@"schemeName://"];
// 跳转之前, 可以使用 canOpenURL: 判断是否可以跳转
if (![[UIApplication sharedApplication]canOpenURL:url]) {
     // 不能跳转
     return;
}

      [[UIApplication sharedApplication]openURL:url options:@{UIApplicationOpenURLOptionsSourceApplicationKey:@YES} completionHandler:^(BOOL success) {
  
            if (success) {
                 NSLog(@"可以跳转url");
            }else{
                NSLog(@"不可以跳转url");
            }
      }];

你可能感兴趣的:(iOS 摇一摇进入第三方应用)