如何从Objective C IOS中的最新应用程序中删除应用程序

我是IOS开发的新手 我想从由Objective C开发的最新应用程序中删除我的应用程序。 我在

中尝试了 UIApplicationExitsonSuspend
  

info.plist

,但是info.plist中没有显示运气应用程序。 谁可以帮我这个事。 在此先感谢!!!

liuliuliu01 回答:如何从Objective C IOS中的最新应用程序中删除应用程序

您可以使用覆盖窗口的概念。
当应用程序退出活动状态时,您将显示封面,并且系统将对该封面进行快照,而不是最后一个可见的UIViewController。 当应用程序启动时,您可以隐藏并取消分配封面。 这是示例

#import "AppDelegate.h"

@interface AppDelegate ()

@property (nonatomic) UIWindow *coverWindow;

@end

@implementation AppDelegate


- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    return YES;
}


- (void)applicationWillResignActive:(UIApplication *)application {
    self.coverWindow = UIWindow.new;
    self.coverWindow.rootViewController = UIViewController.new;
    [self.coverWindow makeKeyAndVisible];
}

- (void)applicationDidBecomeActive:(UIApplication *)application {
    [self.coverWindow removeFromSuperview];
    self.coverWindow = nil;
}

@end
,

UIApplicationExitsOnSuspend is deprecated。您不应该再使用它。有报道称苹果拒绝使用该密钥的应用程序。按照苹果:

  

已弃用

     

现在,系统会在以下情况下自动暂停应用程序,使其离开前台   他们不需要后台执行。有关更多信息,请参见   About the Background Execution Sequence

因此,目前,您只能让Apple处理应用程序的后台状态。强制尝试以任何方式退出该应用都会导致被App Store拒绝。

更新

我刚注意到您的评论说您真正想要什么。为了防止后台快照,您可以向窗口添加自定义视图。这与下面的Mark Agranal发布的答案类似,但是事情是您不需要添加新的Window或新的ViewController。您可以简单地向窗口添加自定义视图,并在应用程序重新进入活动状态时删除该视图。在您的AppDelegate中:

// The view to use as a mask
@property (nonatomic,weak) UIView* coverView;

// Add the view to window
-(void)applicationWillResignActive:(UIApplication *)application
{
    coverView = [[UIView alloc]initWithFrame:[self.window frame]];
    [self.window addSubview:coverView];
}

// Remove the view to window
- (void)applicationDidBecomeActive:(UIApplication *)application
{
    if(coverView != nil) {
        [coverView removeFromSuperview];
        coverView = nil;
    }
}

请注意,您可以使用上述方法将任何视图添加到窗口。系统将对添加的视图进行截屏,因此敏感的用户数据将受到保护。

本文链接:https://www.f2er.com/3167827.html

大家都在问