0

私たちの会社には、基本的に電子書籍リーダーであるアプリがあります。

RMSDKを使用して書籍のダウンロードと読み取りを実行します。

現在、iOS7 デバイス (シミュレーターではなく) で非常に奇妙なことが起こっています。

  1. RMSDK のフルフィルメント メソッドを使用して本をダウンロードします
  2. 本のダウンロードが完了するのを待ちます。本は NSCachesDirectory に保存されます (App Store ガイドラインの理由により) - これまでのところ、すべて正常に動作しています
  3. ホームボタンを押すと、アプリがバックグラウンドに移動します
  4. アプリボタンを押してアプリを元に戻すと、問題が発生します。

アプリが完全に動かなくなります。ホームボタンを押しても何も起こらず、電源ボタンを押しても画面がシャットダウンしますが、もう一度電源ボタンを押しても何も起こりません。デバイス自体が事実上クラッシュしました。

数分後、デバイスに Apple ロゴが表示され、再起動後にデバイスが元に戻ります。

コードの何が原因でデバイスがこのように動作するのかわかりません。iOS7 サンドボックスは、デバイス全体をクラッシュできないようにすべきではありませんか?

なぜこれが起こっているのか、それを防ぐために何ができるのかについてのアイデアは大歓迎です.

編集: AppDelegate の -(void)applicationDidBecomeAcvive: メソッドにブレークポイントを配置しましたが、クラッシュ前の最後のフェーズでアプリ アイコンをクリックしても呼び出されません。

編集: RMSDK は libcurl を使用して書籍をダウンロードしています。これがこの動作の原因になる可能性はありますか?

編集:同じアプリだけでなく、ホームボタンをクリックした後に任意のアプリ をクリックすると問題が発生します。たとえば、ホーム ボタンをクリックしてからFruit Ninjaを開こうとすると、デバイスがクラッシュします。

4

2 に答える 2

1

を呼び出す RMSDK の関数を無効にすることで、この問題を解決することができましたmkfifo()。NDA のため、ここでどれだけ言えるかわかりませんが、それらはすべて 1 つのファイルにあり、適切なプリプロセッサを使用してノーオペレーションにきれいに変換できます。#if defined()

于 2013-10-31T09:19:09.323 に答える