「tip」という名前の最新のタグを使用しており、JIRA オンデマンドを使用しています。
JIRA モバイル コネクトを iOS アプリに組み込みましたが、動作がおかしくなりました。つまり、無限ループに入り、アプリがハングします。デバッグ モードをオンにして、もう少し詳しく調べたところ、この問題の原因は sqlite データベース テーブルがロックされていることにあることがわかりました。
イベントのシーケンスは次のようになります。
- 初めてアプリを起動しました
- JIRA モバイル コネクトを使用して問題を作成しました
- アプリをシャットダウンしました
- Web インターフェイス経由で JIRA online にコメントを追加して問題を更新しました (双方向通信シナリオをシミュレートするため)。
- iOSアプリを再起動しました
- JMC は、 https: //xxxx.atlassian.net/rest/jconnect/1.0/issue/updates?sinceMillis=1408380024967&uuid=9371F70F-12CD-47EC-AB3E-4B0398FF453E&apikey=YYY & project= AAA- を使用して JIRA REST API から更新を取得します。ステップ 4 で行った更新を見つけることができる
- 変更が見つかったので、既存の 2 つのテーブルを削除してスキーマを再作成しようとするロジックを持つメソッドを
JMCIssueStore.m
呼び出します。updateWithData
[self createSchema:YES]
- 1 回目のテーブル ドロップ試行
[db executeUpdate:@"DROP table if exists ISSUE"]
で、データベース テーブルがロックされていることが検出され、JMC はこのステートメントの実行を再試行する無限ループに入ります。
Atlassian Q&A ポータルまたは Web でこれに対する回答を見つけることができません。これを使用している他の人が同じ問題を抱えているはずであるか、統合しようとして明らかに間違ったことをしたので、驚くべきことだと思います。
誰かがこれまたは似たようなことに遭遇しましたか? これは、私が JIRA Mobile Connect を使用している重要な機能の 1 つであるため、JIRA モバイル コネクトをデバッグする価値があるのか、それともあきらめて最初からやり直す価値があるのかを本当に判断する必要があります。