2017-01-31 8 views
1

Realm以外の他の非ネイティブ依存関係のないSwiftベースのiOSアプリケーションがRealm 2.4以降で致命的にクラッシュしています。Xcode 8.2.1&Swift 3.0.2 + Realm 2.4.x =致命的なクラッシュ

私は最初にRealm 2.4.1をインストールし、クラッシュを見て、それがバグだと思って2.3にロールバックしました。これは間違いなくRealm 2.4以降でのみ発生します。

今日はRealm 2.4.2をインストールしましたが、クラッシュ後に提供される情報が不足しているために原因を特定できない同じクラッシュが発生しています(空のデバッグコンソール、スレッドで識別できます)。その後のオン

currentReminders = currentTab.reminders.sorted(byKeyPath: "reminderPosition", ascending: true) 

ビルド/起動なし:私はシミュレータからアプリを削除して一から構築する場合

は、クラッシュがEXC_BAD_ACCESS (code=1, address=0x0)エラーで私のレルムセットアップコードの最後の行で発生しますシミュレータからアプリを削除すると、クラッシュとエラーメッセージは同じですが、別の場所で発生しますが、その場合でも、currentTabオブジェクトのremindersプロパティからリマインダーを取得しようとする行にありますリマインダーオブジェクトの

Realm 2.4にアップグレードしてからこのクラッシュが発生したことはありますか?

+1

完全にクリーンなビルド(製品 - >クリーン)を実行しようとしましたか? – bdash

+0

クリーンアップを実行すると、 'bash" $ {BUILT_PRODUCTS_DIR}/$ {FRAMEWORKS_FOLDER_PATH} /Realm.framework/strip-frameworks.sh "が失敗したため、コンパイルエラーが発生しました。私は年齢のためにそれに何の問題もなかったので、ビルド段階でbashコマンドがなぜ必要なのか覚えていません。 – Foefirelord

+1

この手順は、Realmのドキュメントの[インストール](https://realm.io/docs/swift/latest/#installation)セクションに記載されています。これは、Realmフレームワークからシミュレータアーキテクチャを削除するので、App Storeの提出に必要です。それが失敗している場合は、おそらくRun Script Phaseがアプリケーションにフレームワークをコピーするビルドフェーズの前に実行されていることを示します。フェーズをドラッグすると、フェーズをビルドフェーズのリストの一番下に移動できます。 – bdash

答えて

2

クリーンビルドを実行してください。 Xcodeのseen reportsは、Realmのバージョンを更新するときにアプリケーションを十分に再構築できないため、不思議なクラッシュが発生しました。クリーンなビルドは、これらの問題に対処します。

-1

なぜRealm-Swiftを使用しないでください。 レルム2.1.1は私にとって完璧に機能します。

  • レルム(2.1.1):
    • レルム/ヘッダ(= 2.1.1)
    • レルム/ヘッダ(2.1.1)
    • RealmSwift(2.1.1):
    • レルム(= 2.1.1)
  • のXcode 8.2.1(8C1002)
  • スウィフト3.0.2
+0

質問のコードは、Realm Swiftを使って_already_を示しています。 – bdash

関連する問題