iOSアプリのクラッシュに関する多くの記事をApple Review Teamでレビューしたところ、解決策が見つからず、クラッシュログ情報で見つかった。Xamarin iOSクラッシュ - Appleのレビュー時のみ
これはXamarin.Formsプロジェクトです。私はドロイドとiOSプロジェクトのPCLを持っています。私のドロイドプロジェクトは素晴らしい作品です。私はそこに問題はない。私のiOSプロジェクトは私が問題を抱えているところです。何の問題もなくこれをデバッグできます。私は、XCodeと複数の実際のデバイスを介して、さまざまなシミュレータでこれをテストしました。私はいつも、Appleが特定のアクションを実行したときにアプリケーションがクラッシュすると言って、私のアプリケーションを却下します。私はクラッシュを複製するために何度も試みましたが、できません。
私はアップルのクラッシュログを象徴しています。それはthis linkで見ることができます。クラッシュログにコードが表示されていて、何が間違っていたのか分かりません。私はと思う。それは私と非同期/待っていることと関係があるが、これを確認することはできない。
私が役に立ったら、Xamarinのバージョン2.2.0.31を使用しています。
アップルのクラッシュログは初めてのもので、解読が非常に難しいと感じています。誰かが私が間違っていることを理解するのを助けることができますか?
UPDATE含ま
は、要求されたコードです。
のiOSプロジェクト - Main.cs
public class Application
{
// This is the main entry point of the application.
static void Main(string[] args)
{
// if you want to use a different Application Delegate class from "AppDelegate"
// you can specify it here.
UIApplication.Main(args, null, "AppDelegate");
}
}
のiOSプロジェクト - AppDelegate.cs
public override bool FinishedLaunching(UIApplication app, NSDictionary options)
{
global::Xamarin.Forms.Forms.Init();
App.ScreenWidth = (int)UIScreen.MainScreen.Bounds.Width;
App.ScreenHeight = (int)UIScreen.MainScreen.Bounds.Height;
UINavigationBar.Appearance.TintColor = UIColor.FromRGB(40, 51, 65);
FormsMaps.Init();
AdvancedTimerImplementation.Init();
CachedImageRenderer.Init();
LoadApplication(new App());
return base.FinishedLaunching(app, options);
}
共有プロジェクト - App.cs
public App()
{
//do the initial setup
var nav = new NavigationService();
if (!SimpleIoc.Default.IsRegistered<INavigationServiceEx>())
SimpleIoc.Default.Register<INavigationServiceEx>(() => nav);
var apiMgr = new ApiManager();
if (!SimpleIoc.Default.IsRegistered<ApiManager>())
SimpleIoc.Default.Register<ApiManager>(() => apiMgr);
var storageMgr = new StorageManager();
if (!SimpleIoc.Default.IsRegistered<StorageManager>())
SimpleIoc.Default.Register<StorageManager>(() => storageMgr);
var externalMaps = DependencyService.Get<IExternalMaps>();
if (!SimpleIoc.Default.IsRegistered<IExternalMaps>())
SimpleIoc.Default.Register<IExternalMaps>(() => externalMaps);
var mediaService = DependencyService.Get<IMedia>();
mediaService.Initialize();
if (!SimpleIoc.Default.IsRegistered<IMedia>())
SimpleIoc.Default.Register<IMedia>(() => mediaService);
var geolocationService = DependencyService.Get<IGeolocator>();
if (!SimpleIoc.Default.IsRegistered<IGeolocator>())
SimpleIoc.Default.Register<IGeolocator>(() => geolocationService);
nav.Configure(ViewModelLocator.StartupPage, typeof(StartupView));
nav.Configure(ViewModelLocator.LoginPage, typeof(LoginView));
nav.Configure(ViewModelLocator.RegisterPage, typeof(RegisterView));
nav.Configure(ViewModelLocator.QouponsPage, typeof(QouponsView));
nav.Configure(ViewModelLocator.UserProfilePage, typeof(UserProfileView));
nav.Configure(ViewModelLocator.EditUserProfilePage, typeof(EditUserProfileView));
nav.Configure(ViewModelLocator.CompanyPage, typeof(CompanyView));
nav.Configure(ViewModelLocator.RedeemPage, typeof(RedeemView));
nav.Configure(ViewModelLocator.SettingsPage, typeof(SettingsView));
nav.Configure(ViewModelLocator.HelpPage, typeof(HelpView));
var startupView = new StartupView();
var startupPage = new NavigationPage(startupView);
startupPage.BarBackgroundColor = Color.FromHex("#FF8A07");
nav.Initialize(startupPage);
startupView.Start();
MainPage = startupPage;
}
Xamarin.iOS Appクラスの 'Main'と、Xamarin.Formsアプリケーションクラスのコンストラクタを投稿するのに役立つかもしれません。 –
@ MarkLarter私はいくつかのコードを含む – Travyguy9
http:// stackoverflow。com/questions/15683624/exc-bad-access-sigabrt-ios-crash-log。それが役立つなら、これを通って行ってください。 –