2017-11-14 21 views
3

Microsoft.Identity.Client v1.1.0-previewを使用してMicrosoftを介してユーザーを認証しようとしています。 App.IdentityClientApp.AcquireTokenAsyncを実行すると、その周りのtry/catchであっても、アプリケーションを終了します。メソッド 'Android.Support.CustomTabs.CustomTabsIntent.LaunchUrl'が見つかりません

のAndroidデバイスのログは、あなただけのリリースモードでビルドしようとした場合、それはないでしょう

Info 6756 MonoDroid System.MissingMethodException: 
    Method 'Android.Support.CustomTabs.CustomTabsIntent.LaunchUrl' not found. 
    at Android.App.Activity.n_OnResume (System.IntPtr jnienv, System.IntPtr native__this) [0x00008] in <e975227ac8644a30bb0866117325de0d>:0 
    at (wrapper dynamic-method) System.Object:40d0e467-e2e5-447f-a0b5-87cb60ce49a7 (intptr,intptr) 

を示しています。出力ウィンドウにも同様のエラーがあります。

Mono.Linker.MarkException: 
Error processing method: 'System.Void Microsoft.Identity.Client.AuthenticationActivity::OnResume()' in assembly: 
'Microsoft.Identity.Client.dll' ---> Mono.Cecil.ResolutionException: 
    Failed to resolve System.Void 
    Android.Support.CustomTabs.CustomTabsIntent::LaunchUrl(Android.App.Activity,Android.Net.Uri) 

このコードを放棄したばかりか、それとももっと良い方法を知っている人はいますか?これはiOSで動作するために使用されますが、ログイン処理が完了した後でも問題が発生します。

+0

マニフェストに 'microsoft.identity.client.BrowserTabActivity'を追加しましたか?これによりアプリが終了する可能性があります – cvanbeek

+0

これを実行しようとしている端末に、ChromeまたはChromeのカスタムタブをサポートするウェブブラウザがありますか?デバイス/エミュレータにサポートブラウザがインストールされていないため、ブラウザをポップしようとして失敗する可能性があります。 –

+0

マニフェストにmicrosoft.identity.client.BrowserTabActivityというアクティビティが定義されています。 Chromeをインストールした物理Galaxy s4と、エミュレータにChromeが搭載されていないAndroidのエミュレータを試しましたが、デフォルトのブラウザが動作しています。両方とも、欠落しているメソッドを参照して、同じ方法で失敗します。 –

答えて

0

私は最近、Android上Microsoft.Identity.Clientと悪い経験を持っていた、次のことに注意してください:アンドロイドロリポップ+:

  • は、あなたがすべての要件を満たしていることを確認し、プレビュー版
  • の代わりに構築毎晩、最新のを使用します& Google Chromeのは
  • official guide慎重
  • github project pageをフォローフォローインストールされて、私はそこ
  • 0123ソリューションのほとんどを発見しました

マニフェストにwith a custom URL schemeの問題があるようですので、最初に再確認します。

+0

プレビューは「サポート」されているはずで、iOSと連携しているので、アルファには戻っていません。 iOSバージョンの仕組みに基づいて、私はURLスキームが問題になる過程ではあまりにも遠くないように思えます。エミュレータにChromeをインストールしようとします。 –

+0

"alpha"の代わりに "nightly build"を自分で修正しました。だからあなたは実際には戻ってこない。そうしないと、古いバージョンのXamarin.Formsを使用することになります。 – EvZ

+0

それは理にかなっていますが、夜間のビルドはどこで見つけられますか?私はプレビューを得るためにNuGetを使用していますが、それは表示されません。 –