2010-07-21 107 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

相關問題