2017-11-14 16 views
0

Akavache의 구현은 Android 디버그 및 릴리스 및 iOS 디버그 모드에서 작동합니다. 그러나 iOS 릴리스 모드에서는 충돌이 발생합니다.Xamarin.Forms/Xamarin의 Akavache에서 가능한 버그 iOS

Raygun에서 가로 챈 예외는 'Akavache.Sqlite3.Internal.SQLiteConnection'의 형식 초기화 프로그램에서 예외를 Throw했습니다.

iOS 릴리스 모드를 배포하고 예외 메시지가 표시됩니다. 유사한 문제를 경험 한 사람이 도움이 될 수 있다면 감사하게 생각하십시오.

Akavache 버전은 6.0.0-alpha0038입니다. 0 Akavache.Sqlite3.Registrations + <>에서

Akavache.Sqlite3.SQLitePersistentBlobCache..ctor (선택 System.String databaseFile, System.Reactive.Concurrency.IScheduler 스케줄러) : 다음과 같은

전체 스택 추적 c__DisplayClass0_0.b__2에서() : 0

Akavache.Sqlite3.Registrations + <> c__DisplayClass0_0.b__3()에서 0 Splat.ModernDependencyResolver.GetService (System.Type ServiceType 자리, 선택 System.String 계약) < 412cf7afb8e84872aee33a6b0acc7f20 #에서의 a572ceb4cff14caae 1629fe17a67dfc3> 0 Splat.DependencyResolverMixins.GetService [T] (Splat.IDependencyResolver이, 선택 System.String 계약) < 412cf7afb8e84872aee33a6b0acc7f20 # a572ceb4cff14caae1629fe17a67dfc3>에서 : 0 Akavache.BlobCache.get_UserAccount() < 6b3110b6f37348ddb9bd9456cdb85f61 # a572ceb4cff14caae1629fe17a67dfc3> 0 XXX .UI.CompositionRoot.CreateBlobCache에서() < 2815cf10ecb04f8fa012a0a005f4202e # a572ceb4cff14caae1629fe17a67dfc3> 0 XXX.UI.CompositionRoot.LoggedCreation [T] (시스템 : < 2815cf10ecb04f8fa012a0a005f4202e # a572ceb4cff14caae1629fe17a67dfc3> 0

XXX.UI.CompositionRoot.CreateApp() .Func`1 [TResult] factory) in < 2815cf10ecb04f8fa012a0a 005f4202e # a572ceb4cff14caae1629fe17a67dfc3> < 2815cf10ecb04f8fa012a0a005f4202e # a572ceb4cff14caae1629fe17a67dfc3> 0 XXX.UI.CompositionRoot.CreateApp() : 0

XXX.UI.CompositionRoot.ResolveApp() < 2815cf10ecb04f8fa012a0a005f4202e # a572ceb4cff14caae1629fe17a67dfc3>에서 0 XXX.UI. 0 XXX.UI.iOS.AppDelegate.FinishedLaunching (UIKit.UIApplication app, Foundation.NSDictionary 옵션) : 0 UIKit.UIApplication.Main (System.String()) 내에서 iOS.AppDelegate.ResolveApplication (XXX.UI.CompositionRoot compositionRoot) [] args, System.IntPtr principal, System.IntPtr delegate) : 0 UIKit.UIApplication.Main (System.String [] args, System.String principalClassName, System.String delegateClassNa 0 XXX.UI.iOS.Application.Main (선택 System.String []에 args) : 나를) 0

+0

그 , 알파 버전이기 때문에 가능합니다. 그러나 Github 페이지에 가서 문제를 열어 보는 것이 더 합리적이지 않습니까? –

+0

연결하는 데 문제가 될 수 있습니다 ... 지금 Akavache alpha가 출시 버전 iOS 앱에서 실행되고 있습니다. Akavache Dll을 건너 뛰는 링크를 사용해 볼 수 있습니까? 또는 링커 파일을 사용하여 제외하고 해당 작동하는지 확인하십시오? 또한 https://github.com/PureWeen/Akavache/blob/3bd03246a6e198bde5eb93a54646dd9f25fc15a1/src/Akavache.Sqlite3/content/AkavacheSqliteLinkerOverride.cs.pp 파일 –

+0

@GeraldVersluis가 있는지 확인하십시오. 내가 생각하고있는 것입니다. GitHub로가는 것에 관해서는, 글쎄, 그것이 버그라면 나는 그렇게 확신 할 수 없다. 그래서 나는 stackoverflow를 시도하고 다른 누군가가 같은 문제에 직면했는지를보고 싶다. 일단 그것이 실제로 버그 인 것으로 확인되면 GitHub입니다. –

답변

1

그것은

당신이 링크를 시도 할 수 ... 연결에 문제가있을 수 있습니다 Akavache Dll을 건너 뛰는가?

링커 파일을 사용하여 제외하고 해당 작동하는지 확인 하시겠습니까?또한

당신이 당신의 플랫폼 프로젝트의 https://github.com/PureWeen/Akavache/blob/3bd03246a6e198bde5eb93a54646dd9f25fc15a1/src/Akavache.Sqlite3/content/AkavacheSqliteLinkerOverride.cs.pp

파일이 있는지 확인

아이폰 OS와 주요 문제는 자 마린 도구는 코드 중 하나를 생각하지 않는 DLL을 제거하는 정적 분석을 사용한다는 것입니다 참조. Akavache는 자 마린이 DLL이 제거됩니다 릴리스 버전으로 그렇게 감지 할 수있는 당신이 SqlLite DLL을 사용하는 경우 찾기 위해 반사를 사용합니다 - 당신이 원하는/

재정의 클래스는 단지 도구에 대한 정보를 제공합니다 그럼 DLL이

+1

답변으로 표시되었습니다. 고마워. –