{"id":194,"date":"2015-12-29T00:58:10","date_gmt":"2015-12-28T16:58:10","guid":{"rendered":"http:\/\/hamiao.moe\/?p=194"},"modified":"2015-12-28T01:08:10","modified_gmt":"2015-12-27T17:08:10","slug":"ios%e4%b8%bb%e5%8a%a8%e9%80%80%e5%87%baapp%e6%96%b9%e6%b3%95","status":"publish","type":"post","link":"https:\/\/plus.moe\/?p=194","title":{"rendered":"[iOS]\u4e3b\u52a8\u9000\u51faAPP\u65b9\u6cd5"},"content":{"rendered":"<p>\u5b98\u65b9SDK\u65b9\u6cd5\uff08\u7a81\u7136\u6d88\u5931\uff0c\u4f46\u5728\u957f\u6309APP\u5217\u8868\u4e2d\u4f9d\u65e7\u51fa\u73b0\u5feb\u7167\uff09:<\/p>\n<pre class=\"lang:objc decode:true\">exit(0); \/\/ \u9000\u51faAPP<\/pre>\n<p>\u5e26\u52a8\u753b\u6548\u679c\u7684\u9000\u51fa:<\/p>\n<pre class=\"lang:objc decode:true \">- (void)exitApplication {  \n    [UIView beginAnimations:@\"exitApplication\" context:nil];  \n    [UIView setAnimationDuration:0.5];  \n    [UIView setAnimationDelegate:self];  \n    [UIView setAnimationTransition:UIViewAnimationCurveEaseOut forView:self.window cache:NO];  \n    [UIView setAnimationDidStopSelector:@selector(animationFinished:finished:context:)];  \n    self.window.bounds = CGRectMake(0, 0, 0, 0);  \n    [UIView commitAnimations];  \n}\n- (void)animationFinished:(NSString *)animationID finished:(NSNumber *)finished context:(void *)context {  \n    if ([animationID compare:@\"exitApplication\"] == 0) {  \n        exit(0);  \n    }\n}<\/pre>\n<pre class=\"lang:objc decode:true\">AppDelegate *app = [UIApplication sharedApplication].delegate;\nUIWindow *window = app.window;\n    \n [UIView animateWithDuration:0.4f animations:^{\n     window.alpha = 0;\n     CGFloat y = window.bounds.size.height;\n     CGFloat x = window.bounds.size.width \/ 2;\n     window.frame = CGRectMake(x, y, 0, 0);\n} completion:^(BOOL finished) {\n     exit(0);\n}];<\/pre>\n<p>Private API:<\/p>\n<pre class=\"lang:objc decode:true \">[[UIApplication sharedApplication] terminateWithSuccess];\n\\\\ \u6216\u8005\n[[UIApplication sharedApplication] performSelector:@selector(terminateWithSuccess)];<\/pre>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u5b98\u65b9SDK\u65b9\u6cd5\uff08\u7a81\u7136\u6d88\u5931\uff0c\u4f46\u5728\u957f\u6309APP\u5217\u8868\u4e2d\u4f9d\u65e7\u51fa\u73b0\u5feb\u7167\uff09: exit(0); \/\/ \u9000\u51faAPP &hellip; <a href=\"https:\/\/plus.moe\/?p=194\" class=\"more-link read-more\" rel=\"bookmark\">\u7ee7\u7eed\u9605\u8bfb <span class=\"screen-reader-text\">[iOS]\u4e3b\u52a8\u9000\u51faAPP\u65b9\u6cd5<\/span><i class=\"fa fa-arrow-right\"><\/i><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[9],"class_list":{"0":"post-194","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"hentry","6":"category-ios","7":"tag-ios","8":"h-entry","10":"h-as-article"},"_links":{"self":[{"href":"https:\/\/plus.moe\/index.php?rest_route=\/wp\/v2\/posts\/194","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/plus.moe\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/plus.moe\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/plus.moe\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/plus.moe\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=194"}],"version-history":[{"count":2,"href":"https:\/\/plus.moe\/index.php?rest_route=\/wp\/v2\/posts\/194\/revisions"}],"predecessor-version":[{"id":208,"href":"https:\/\/plus.moe\/index.php?rest_route=\/wp\/v2\/posts\/194\/revisions\/208"}],"wp:attachment":[{"href":"https:\/\/plus.moe\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=194"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/plus.moe\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=194"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/plus.moe\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=194"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}