web-dev-qa-db-ja.com

iOS 10のアップグレード後にXamarin Auth Storeキーチェーンが機能しない

Xamarin.Auth( https://components.xamarin.com/view/xamarin.auth/ )を使用して、以前と同じように資格情報を保存しています。

var accountStore = AccountStore.Create ();
foreach (var account in  accountStore.FindAccountsForService("myAppName"))
    accountStore.Delete (account, "myAppName");

AccountStore.Create().Save(acc, "myAppName");

IOS 10へのアップグレード後、資格情報の保存時にこのエラーが発生します。

"Could not save account to KeyChain: -34018"

at Xamarin.Auth.KeyChainAccountStore.Save (Xamarin.Auth.Account account,System.String serviceId) [0x000b2] in <402cf9b3716845b3bdddef581cb33a3e>:0 

最新バージョンがインストールされました1.2.3.1問題はSIMULATORでのみ持続するようです

34
Ziba Leah

私はリンクを掘っていましたPatコメントで送信: bugzilla.xamarin.com/show_bug.cgi?id=43514

そして、Pavel Sichによる有用なコメントが見つかりました、と彼は言いました:

エンタイトルメントでキーチェーンアクセスを有効にし、シミュレータ(デバッグ)ビルドのエンタイトルメントも選択してください。デフォルトでは、これは設定されていません。

Xamarinソリューションで、.IOSプロジェクトをダブルクリックしてオプションペインを開き、IOS Bundle Signingを選択して、Platformを変更しました「iPhone」から「iPhoneSimulator」までのボックスを選択し、フィールドCustom EntitlementsをEntitlements.plistに設定します。今ではうまく機能しています。

注:これは、前の回答のThibault D。で提案されているようにEntitlement.plistを編集した後です。

お役に立てれば。

68
Rafael

このスレッド によると、バンドルの歌唱構成に空の資格ファイルを追加するだけで十分です。

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|iPhoneSimulator' ">
  ...
  <CodesignEntitlements>Entitlements.plist</CodesignEntitlements>
</PropertyGroup>

空の Entitlements.plistファイル:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.Apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
</dict>
</plist>
10
Thibault D.

IphoneSimulatorで作業すると、Entitlements.plistKeyChainを有効にした場合でも、まだ機能せず、この例外がスローされるようです。 XamarinにはCodesignEntitlementsの設定がありますが、IphoneSimulatorの設定にIphoneがデフォルトとして設定されていないようです。 IOS.csprojファイルを開いて、この行を手動で追加する必要があります

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|iPhoneSimulator' ">

  <CodesignEntitlements>Entitlements.plist</CodesignEntitlements>
</PropertyGroup>
0
batmaci

IOSプロジェクト設定でカスタム資格を設定します enter image description here

0
Yauhen Sampir