2010-07-21 119 views
0

我有我的最新项目两个要求:终止后iPhone应用程序可以重新启动吗?

  • 当应用程序首次启动时应该显示设备原生拨号器,然后在后台检查callDidConnected。
  • 一旦callDidConnected是真正的应用程序应该启动自己。

在这里,我尝试了以下逻辑:

- (void)applicationDidFinishLaunching:(UIApplication *)application { 


//i am dialing to a IVR from the native dialer 

if (/* A check to validate wether to call or not */) 
{ 
    NSLog(@"Dialing"); 

    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel:"]]; 


    // A loop check wether the call get connected 
    while (!callDidConnected){ 
    callDidConnected = // doing a check with server 
    } 

    // if call get connected then launching my application 
    if (callDidConnected){ 
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"MyApp:"]]; 
} 

} 

else 
{ 
    // normal app 
} 
} 



- (void) applicationWillTerminate:(UIApplication *)application 
{ 

} 
  • 我注册了网址MyApp的应用程序。
  • 我在模拟器上(SDK 3.0/3.2上)打开另一个应用程序(尝试使用http而不是tel协议)测试此代码。该检查在后台执行,而其他本地应用(safari)在前台运行。 “所以这看起来有点奇怪”,苹果公司的人说。

    任何人都可以帮助我找到我是否可以在我的工作中使用此代码,并且Apple商店是否可以接受此代码。

+1

不确定要了解您正在尝试做什么... 您想在应用程序关闭时打开应用程序吗? - >无限循环。那么如何退出应用程序? – Macmade 2010-07-21 13:20:02

+0

我真诚地希望苹果能够限制这种行为,如果他们不这样做,我相信在他们这样做之前不会花太长时间。 – 2010-07-21 13:36:13

回答

8

不,这是不可能的或不可接受的。

想一想:除了运行此应用程序之外,iPhone将无法执行其他任何操作,因为当您退出时它会立即重新启动......听起来像是恶意软件。不是我想要的iPhone上的东西,我很高兴苹果限制这种事情。

+1

此外,iOS 4.0的多任务功能会使这些效果无效,因为您可以使用主屏幕按钮轻松将其发送到后台并转到其他应用程序。 – 2010-07-21 14:11:10

+0

虽然对于应用程序商店的使用,我同意你@Jasarien如果你想使用iPhone或iPad作为自助服务终端,那该怎么办?如果它能工作,这对于那些人来说是完美的。如果您需要真正退出应用程序,那么您需要将其从服务终端中取出,然后重新启动,并且会保持不在应用程序中。虽然原始的海报似乎担心苹果的批准,所以我不认为这是事实。 – jamone 2010-07-21 15:16:53

+0

@jamone如果有kisosk的情况,iPad/iPhone的主页按钮应该被覆盖以防止被按下。 – Jasarien 2010-07-21 17:37:09

相关问题