Xcode上だと動作するのに、実環境だと動作しないiOS アプリ

iOS アプリが、開発環境で動作するのに、実環境だと動作しなくて困ると言う現象が発生した。

思い当たるのは、初期起動時のデフォルトサーバーの設定をしないと、本番環境の設定になってるため、名前解決がうまくできなくて、お待ちくださいの画面が、30秒ほど出てきて、メイン画面が表示されないことくらいなのだが。
 
Cocoaの日々: [iOS] 起動に時間がかかりすぎるとクラッシュする(原因と対策など)
UIApplication Background Task Notes |Apple Developer Forums
 
まんま、そのままだった

The system puts strict limits on the total amount of time that you can prevent suspension using background tasks.  
On current systems you can expect values like:

  • 3 minutes, when your app has moved from the foreground to the background
  • 30 seconds, when your app was resumed in the background

・バックグラウンドからの復元時(アプリケーションの起動も同じだと思われる)
30秒応答がなければ強制終了される。

試しに、getnamebyhost を sleep(30)に置き換えても同じ現象が発生しm、sleep(25)にしたら問題無くなった((((・ω・))))

仕方ないので、初期の通信処理をアプリ起動したあと、1秒ずらして始める様にしてみたら、問題なくなりましたとさ。
 

おすすめ

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です