2010-12-15 61 views
1

当用户按下home键的应用程序应该重新启动或者它不应该允许用户终止。 这样做的可能方式是什么?该应用程序应保持在iPad上,除非用户退出应用程序而不是从主页按钮。推出iPad应用程序再次

我正在考虑应用程序的终止,如果它崩溃或其他原因,这是确定应用程序应该退出毫无疑问的,但通常不为用户按下home键的应用程序应该重新启动。

回答

1

这种行为将与99%的把握让您的应用被拒绝的应用程序商店。

用户(和苹果)期望的正常行为是当按下主页按钮时,应用程序仅退出。任何其他退出应用程序的方式,包括特殊按钮,过度崩溃等都会将其标记为拒绝。

+0

“MenuPad”应用程序将被苹果拒绝,只需检查此应用程序在应用程序商店中可用即可。 – ashish 2010-12-15 14:37:28

+0

...也许它属于剩下的1% – 2010-12-15 15:05:51

+1

FYI内,Kiosk模式在菜单键盘并不适用于iOS 4.2.1的工作,所以我想苹果肯定插入孔。 – 2010-12-20 08:33:38

4

有没有办法做到这一点。无论如何,这将是一个可怕的用户体验,因此,不鼓励。

+0

我在一个应用程序中看到了这个特性,我的要求就是这样。这是可能的,否则这个应用程序不应该有这个功能。 “MenuPad”应用程序。 – ashish 2010-12-15 13:53:21

+0

我刚刚下载了“MenuPad”并按下home键确实退出了应用程序。我在iOS 4.2上测试过。如果他们阻止了主页按钮退出应用程序,他们就不会在应用程序商店中。苹果会拒绝该应用程序。 – Jasarien 2010-12-15 14:35:13

+0

另外它是“关闭时重新启动”选项对iOS 4.2没有任何影响 - 事实上,这是可能的显然被苹果视为一个错误,并修复。 – Jasarien 2010-12-15 14:37:25

0

只能适用于iOS 3.2 做到这一点在applicationWillTerminate做

NSString *UrlString = [NSString stringWithString: @"yourAppSchema:"]; 
    [application openURL:[NSURL URLWithString:[UrlString stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding]]]; 

首先,你需要更新你的应用程序中的Info.plist以支持URL方案

<key>CFBundleURLTypes</key> 
    <array> 
     <dict> 
      <key>CFBundleURLSchemes</key> 
      <array> 
       <string>yourAppSchema</string> 
      </array> 
      <key>CFBundleURLName</key> 
      <string>com.yourCompany.yourAppSchema</string> 
     </dict> 
    </array> 

你的方式这样做是为了把你的iPad在像This 和也读这thread

+0

当用户按下home键的应用程序在后台状态进入这个委托被称为 - (void)applicationDidEnterBackground:(UIApplication *)应用程序 所以这里的URL启动不会再次打开该应用程序,除非它进入活动状态。 - (void)applicationWillTerminate:(UIApplication *)应用程序仅当用户从应用程序中删除应用程序时才会调用此应用程序。 – ashish 2010-12-15 13:59:55

+0

并在此代表中重新打开您的应用程序。这是做到这一点的唯一方法。没有其他方法来禁用主页按钮。我已经向苹果发布了一个bug,这里是回应:“经过进一步调查后,已确定这是一个已知问题,目前正在进行工程调查。” – 2010-12-15 14:08:09

+0

但在iOS 4.2中,即使我们在 - (void)applicationWillTerminate:(UIApplication *)应用程序中编写自定义url,它也不会执行。任何原因。我的网址方案已经设置,我通过在safari应用程序中打开进行了检查 - ashish 6分钟前 – ashish 2010-12-15 14:19:31