2017-06-16 52 views
0

我在iOS上遇到與SqlCipher和Akavache有關的問題。當我使用SqlCipher的現有實現將Akavache庫添加到我的項目時,在鏈接期間會出現一些重複的sqlite錯誤。Akavache Sqlite鏈接錯誤

目前的行爲是什麼?

當我建立的iOS與鏈接SDK組件我收到以下 Sqlite Linking Errors

如果當前的行爲是一個錯誤,請提供重現步驟,如果可能的問題最小演示

  • 安裝/實施SqlCipher
  • 安裝Akavache
  • 構建Xamarin.iOS親ject

預期行爲是什麼? Akavache Sqlite和SqlCipher Sqlite只是一起工作。

哪個版本的Akavache以及哪個平臺/操作系統受此問題影響?這是否在Akavache以前的版本中工作?

  • Akavache 5.0.0
  • iOS的10.3

我不知道。 SqlCipher是在幾個月前實現的,我們現在只是將Akavache添加到項目中。

其他信息(例如蹤跡,相關的問題,建議如何解決)

之前,我下去保持一個叉的路上,我在想,如果有更好的辦法?

回答

2

什麼你有效這裏做的是加入Akavache,其中包含自定義SQLite的打造,已經包含自定義SQLite的開發應用。由於iOS鏈接的方式,這是一個問題。

我懷疑你真的需要Akavache的「叉」。您真正需要的是IMO,它是Batteries_V2.Init()的一個實現,它與您的應用中已有的SQLCipher實例進行通信。

這是可行的,如SQLitePCL.raw已包含此「捆綁」的概念的多個實現,並且使用誘餌並切換到從一個到另一個發生變化。

你的問題是相當於一個讓我不時:「我如何使用自定義的SQLite建立與SQLitePCL.raw」你的情況唯一的區別是你已經有這樣一個自定義的構建作爲你的應用程序的一部分。無論如何,它是相似的,不幸的是,SQLitePCL.raw並沒有像它應該那樣容易。

無論如何,解釋如何彌合Akavache和您現有的SQLCipher構建之間的差距可能是超出這個範圍,以便回答,但我也許能幫助您在正確的方向頭部。您可以在https://github.com/ericsink/SQLitePCL.raw上發佈問題,我會看到它。

+0

增加了問題[164](https://github.com/ericsink/SQLitePCL.raw/issues/164)。 –

0

我對向Akavache添加密碼支持的興趣很小。如果你可以找到一個不可怕的方法來做到這一點,然後釋放它在GitHub爲他人。 Akavache已經通過http://kent-boogaart.com/blog/password-protected-encryption-provider-for-akavache

加密API這是一個有點關於該sqlite的密碼的作者們建議刪除這條線,因爲它意味着你也會遇到和經驗問題,更大的sqlite的生態系統,包括蔚藍的移動服務。

+0

密碼支持直接在Akavache?埃裏克已經足夠好了,爲Zetetic SQLCipher庫削減了一個SQLitePCl.Raw包,從而解決了這個問題。 –