Xamarin.iOS SKProductRequest 事件未在 Debug 中调用(在 iOS 15 和 xCode 13 之前工作)

Posted

技术标签:

【中文标题】Xamarin.iOS SKProductRequest 事件未在 Debug 中调用(在 iOS 15 和 xCode 13 之前工作)【英文标题】:Xamarin.iOS SKProductRequest events are not called in Debug (worked before iOS 15 and xCode 13) 【发布时间】:2021-10-19 21:03:00 【问题描述】:

我们在 Live 中有一个 iPhone/iPad 应用程序,它使用订阅模式。我们在那里和试飞中都没有问题。

应用程序是使用 Xamarin.ios 开发的。我们在两个物理设备上都使用 xCode 13 和 iOS 15。 作为 IDE,我们尝试过 VS 2019 Mac、VS 2022 Preview Mac 和 JetBrains Rider

问题仅出现在调试中。我正在使用两种物理设备:iPhone 和 iPad。第一期 出现在两台设备上。

这是我的代码:

        SubscriptionsRequest = new SKProductsRequest(productIdentifiers);
        SubscriptionsRequest.ReceivedResponse += (sender, args) =>
        
            SKProduct[] products = args.Response.Products;
            _productsCallback?.Invoke(products, subscriptions);
        ;

        SubscriptionsRequest.RequestFailed += (sender, args) =>
        
            _logger.LogError(args.Error.LocalizedDescription);
        ;

        SubscriptionsRequest.Start();

没有触发任何事件。设备控制台中没有错误或警告(使用 xCode 中的设备和模拟器)。

我已经尝试过的事情:

    使用 fastlane 重新生成配置文件和证书 使用自动签名 创建了具有相同捆绑标识符的新应用并尝试获取订阅 取消配对我的两个设备 尝试使用 Wifi 和有线连接 重新安装应用,重启设备,重建解决方案 降级的 xCode。这解决了第一次启动的问题。 Debug 中的下一次启动也有同样的问题。

我很确定我已经尝试过 *** 或 Apple 论坛上建议的所有解决方案。

问题已经存在几周了。

如果我错过了什么,请告诉我

【问题讨论】:

您是否尝试创建一个新的示例应用来测试它是否有效? @AdrainZhu-MSFT,还没有。希望我能提前找到解决方案 你可以在这里发布你的问题github.com/xamarin/xamarin-macios/issues @AdrainZhu-MSFT,我试图创建一个具有相同捆绑 ID 的新应用程序。同样的问题。还尝试使用自动签名 好像是ios15的问题,发到github上看看怎么样 【参考方案1】:

对于所有遇到此问题的人,在将 iPhone 上的 iOS 更新到 15.1、Mac OS 更新到 Monterey 并将 xCode 更新到 13.1 之后,问题就消失了!

【讨论】:

以上是关于Xamarin.iOS SKProductRequest 事件未在 Debug 中调用(在 iOS 15 和 xCode 13 之前工作)的主要内容,如果未能解决你的问题,请参考以下文章

Xamarin.forms(或)xamarin.ios/xamarin.android(或)本机

Xamarin.Forms 是 Xamarin.Android、Xamarin.IoS 和 Xamarin.Win 的简单总和吗?

使用Xamarin Effect删除Xamarin.iOS中TextEntry上的圆角

Xamarin.iOS 和 RFComm

Xamarin.IOS 和 Signalr 推送通知

Xamarin.Ios BeingBackgroundTask 参数