如何在Objective C IOS中从最近的应用程序中删除应用程序
我不熟悉IOS开发 我想从Objective C中开发的最新应用程序中删除我的应用程序。 我在中尝试了UIApplicationExitsOnSuspend info.plist ,但info.plist中仍没有显示应用程序。 有人能帮我吗。如何在Objective C IOS中从最近的应用程序中删除应用程序,ios,objective-c,Ios,Objective C,我不熟悉IOS开发 我想从Objective C中开发的最新应用程序中删除我的应用程序。 我在中尝试了UIApplicationExitsOnSuspend info.plist ,但info.plist中仍没有显示应用程序。 有人能帮我吗。 提前感谢 UIApplicationExitsOnSuspend。你不应该再使用它了。有报道称苹果拒绝使用该密钥的应用程序。根据苹果公司的说法: 已弃用 系统现在会自动暂停应用程序离开前台 它们不需要后台执行。有关详细信息,请参阅 所以现在,你必须让苹果
提前感谢
UIApplicationExitsOnSuspend
。你不应该再使用它了。有报道称苹果拒绝使用该密钥的应用程序。根据苹果公司的说法:
已弃用
系统现在会自动暂停应用程序离开前台
它们不需要后台执行。有关详细信息,请参阅
所以现在,你必须让苹果来处理应用程序的后台状态。以任何方式强行退出应用程序都会导致应用程序商店拒绝
更新
我只是注意到你的评论说了你真正想要的。要防止后台快照,可以向窗口添加自定义视图。这与下面MarkAgranal给出的答案类似,但问题是您不需要添加新窗口或新的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;
}
}
请注意,可以使用上述方法将任何视图添加到窗口中。系统将拍摄添加视图的屏幕截图,因此敏感用户数据将受到保护。您可以使用封面窗口的概念。
当应用程序将退出活动状态时,您将显示封面,系统将拍摄该封面的快照,而不是最后可见的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
打扰一下你想用什么做什么?从最近的应用中删除应用。我在info.plisty中尝试了UIApplicationExitsOnSuspend true,但您不能。即使仍然支持
UIApplicationExitsOnSuspend
,应用程序的快照仍会显示在应用程序切换器中,应用程序也不会处于挂起状态。也许您可以解释为什么要从应用程序切换器中删除该应用程序,我们可以建议一种替代方法。我从我的安全团队那里收到了此问题“当iOS应用程序被发送到后台时(例如,按下主页按钮),默认情况下启用了后台屏幕截图”,操作系统将获取当前用户界面的屏幕截图并将其存储以备将来使用。应用程序未禁用此功能,因此包含电子邮件地址和移动电话号码的屏幕截图可以写入设备文件系统。“那么我们如何实现此概念目前还没有实现此概念。”。苹果严格执行其政策(至少对第三方开发者如此)。这是从Android到iOS的主要区别。你的手基本上是绑在这么多不同的地方。您在Android中所做的一切都无法在iOS中完成。:)@Pinki请查看更新的答案。