gpt4 book ai didi

ios - 在 iOS 模拟器上通过 Xamarin.iOS 使用按需资源时出现问题

转载 作者:行者123 更新时间:2023-12-02 03:49:46 26 4
gpt4 key购买 nike

我遇到了一个问题,即我无法通过 Xamarin.iOS 应用访问标记为在 Apple 按需资源功能中使用的资源,但仅限于在模拟器上运行时。这仅在更新我的环境后发生。我之前使用的是 Visual Studio for Mac 版本 8.3.9 和 Xcode 版本 11.2.1,我的应用能够在模拟器和物理设备上访问 ODR 资源,而不会出现问题。

现在我使用的是 Visual Studio 版本 8.4.2 和 Xcode 版本 11.3.1,并且我的应用程序无法正常运行。但是,我仅在 iOS 模拟器(对于任何 iOS 版本)上运行时才看到问题。我可以在物理设备(运行 iOS 版本 13.0)上构建并运行,并且没有发现任何问题。

我正在通过 Visual Studio for Mac 创建并标记要在 Apple ODR 中使用的 Assets 。我有一个 ZIP 文件,我将其作为资源直接添加到应用程序的 iOS 项目中。在其属性中,我将 BuildAction 设置为 BundleResource,选择“不复制”到输出目录,并为其指定一个按需资源标记。

当我构建解决方案时,我可以看到此 ZIP 文件嵌套在 bin/iPhone/Debug/device-builds/iphone12.3-13.0/OnDemandResources 下的 *.assetpack 目录中。我相信它应该放在 bin/iPhone/Debug/OnDemandResources/ 中。当我运行调用 NSBundleResourceRequest 的 BeginAccessingResourcesAsync 的代码时,它似乎没有执行任何操作。调用该函数后,我在 VS 的应用程序输出调试窗口中看到以下错误消息:

Begin: Request 0x0x600002566100 response: Error: Error Domain=NSCocoaErrorDomain Code=4994 "The requested application data doesn’t exist." UserInfo={NSLocalizedFailureReason=InvalidTag}

没有抛出其他错误或异常。当我尝试从 NSBundleResourceRequest.Bundle 对象获取资源路径时,它预期返回 null。

发生这种情况的任何原因,以及为什么这种情况只发生在 iOS 模拟器上而不是物理设备上?我在搜索上述错误消息时没有找到任何有用的信息。 Visual Studio 中有关在 Debug模式下构建捆绑资源的方式是否发生了变化?

最佳答案

这并不是真正的答案,而是一种解决方法。使用 VS for Mac 的 8.3.9 版本似乎不会抛出此错误,因此我恢复到该版本

关于ios - 在 iOS 模拟器上通过 Xamarin.iOS 使用按需资源时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59884936/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com