Я пытаюсь реализовать InApp Provisioning — проект Apple Pay в формах Xamarin. но я не нашел много ресурсов, которые четко объясняют шаги. Какова правильная установка? Как это протестировать и как насчет env (песочница или производство)? Надеюсь, что смогу найти полезные ответы Спасибо!
var canaddpass = PKAddPaymentPassViewController.CanAddPaymentPass;
if (canaddpass)
{
var config = new PKAddPaymentPassRequestConfiguration(PKEncryptionScheme.Ecc_V2);
var addPaymentPassVC = new PKAddPaymentPassViewController(config, this);
View.BackgroundColor = UIColor.White;
Title = "My Custom View Controller";
var btn = UIButton.FromType(UIButtonType.System);
btn.Frame = new CGRect(20, 200, 280, 44);
btn.SetTitle("Click Me", UIControlState.Normal);
btn.TouchUpInside += (sender, e) => {
//this.ShowViewController(addPaymentPassVC, (Foundation.NSObject)sender); This line will also work
this.PresentViewControllerAsync(addPaymentPassVC, true);
};
View.AddSubview(btn);
}
Я пробовал приведенный выше код, но получил это исключение:
System.Exception: не удалось инициализировать экземпляр типа «PassKit.PKAddPaymentPassViewController»: собственный метод «initWithRequestConfiguration:delegate:» возвратил nil
PKAddPaymentPassViewController
, для которого требуется ключ разрешения com.apple.developer.payment-pass-provisioning
для вашего приложения.
Чтобы добавить этот ключ, выполните следующие действия:
Перейдите в раздел «Идентификатор» на портале разработчиков :
Выберите свой идентификатор и перейдите в «Дополнительные возможности», включите опцию, подобную этой:
Перешли к проекту iOS, добавьте этот ключ в файл Entitlements.plist:
<key>com.apple.developer.payment-pass-provisioning</key>
<true/>
<key>com.apple.developer.pass-type-identifiers</key>
<array>
<string>$(TeamIdentifierPrefix)*</string>
</array>`
Согласно Документации Apple вам необходимо специальное разрешение от Apple для отправки приложений с включенным этим ключом. Для получения дополнительной информации обращайтесь по адресу [email protected].
я проверил, чтобы мои настройки соответствовали тем, которые вы написали в своем комментарии, но все равно я получаю тот же сбой .... может быть, проблема в коде? @Уилсон