大家在使用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");
}
}];