2

我知道苹果不支持以编程方式退出应用程序,但是如果用户不同意许可协议,我想退出我的应用程序?如果被拒绝,是否可以限制应用程序加载?或者在这种情况下我该怎么办?

4

8 回答 8

6

不要崩溃或强制关闭或想办法关闭您的应用程序。如果用户不接受该协议,那么他们可能对使用您的应用程序不感兴趣,最终他们将删除它。但是,按照协议所说的那样,显示协议警报(如果您已经有 EULA)然后指向相同并询问用户他们必须接受协议才能使用该应用程序。

其他方式可能是,预览一些屏幕(对于那些不接受 EULA 的人),如果他们喜欢您的屏幕,然后要求接受协议。

希望能帮助到你。

于 2013-02-12T04:47:33.260 回答
3

我建议您继续重新显示许可协议。如果他们选择“否”,则会弹出一个提示“您必须接受使用此应用程序的协议”,然后当他们点击“确定”时,再次将他们重定向到协议确认。

于 2013-02-12T04:42:21.403 回答
1

您可以显示一个单独的视图来道歉,未经用户同意,他们将无法使用您的应用程序。顺便说一句,这是让他们改变主意的另一个机会。

于 2013-02-12T04:41:47.570 回答
1

在我的一个应用程序中,我所做的是向用户展示了协议并要求他接受或拒绝它。

如果用户拒绝协议,那么我会显示一个弹出窗口,通知用户如果他拒绝协议,他将无法在应用程序中继续进行,并且我只将他保留在协议屏幕上。

如果您手动退出应用程序,那么您的应用程序将被苹果拒绝,因为苹果不希望应用程序以这种方式运行。

希望这可以帮助...

于 2013-02-12T04:50:00.843 回答
0
 [[UIApplication sharedApplication]performSelector:@selector(suspend)];

但是像这样退出应用程序并不是一个好习惯。

于 2013-02-12T04:43:10.517 回答
0

我想NSAssert(NO, @"The user failed to accept the EULA");可能会起作用,也许在呈现一个警报视图后的委托回调中,表明应用程序现在将退出,因为他们拒绝接受这些条款。然后,您可以轻松地在崩溃报告中跟踪断言失败,以确定有多少人拒绝了 EULA。

不过,我不能说这是否会通过应用商店的审查。

于 2013-02-12T04:43:52.067 回答
0

Apple 不建议使用exit(0),但我认为在您的情况下应该没问题,因为如果用户不接受许可协议,该应用程序将无法运行

但不鼓励使用它来退出常规应用程序操作。

于 2013-02-12T04:46:15.880 回答
0

您可以向用户显示通知,然后将它们启动到您的网站或 Facebook 页面。这将提供一个中断的流程,而不是一个只会出现和消失的对话框,直到用户感到被迫点击“我同意”。

您还可以在您的 plist 中将 UIApplicationExitsOnSuspend 设置为 YES,这将终止它进入后台的应用程序。然后,当用户从您的网站返回应用程序时,您将完全重新启动。有关如何执行此操作的信息在这里:UIApplicationExitsOnSuspend 我还缺少什么?

于 2013-02-12T22:32:18.450 回答