我正在尝试在 iPhoneSimulator 上调试一个简单的新 Xamarin.Forms 应用程序。我使用的是 Windows,并且已与网络中的 macbook 配对。
Xamarin.Forms 模板运行良好,但是当我调用Xamarin.Essentials.SecureStorage
API时
var timer = new Timer(5000);
timer.Elapsed += async (sender, e) => {
timer.Stop();
await SecureStorage.SetAsync("message", "Hello world");
};
我收到以下错误:
System.Exception:添加记录时出错:MissingEntitlement
所以我编辑了我的 Entitlements.plist 并启用了KeyChain
权利。尝试再次调试,仍然是同样的错误。所以我转到项目属性> iOS Bundle Signing 并将其设置Custom entitlements
为我的 Entitlements.plist。这以某种方式将方案切换到Manual Provisioning。
在 iOS 上找不到适用于 MyApplication.iOS 的任何可用配置文件
所以我做了这个答案所说的:https ://stackoverflow.com/a/51615262/8941307 。现在我仍然收到 MissingEntitlement 异常。
当我删除自定义权利并切换回自动配置时,我可以再次运行该应用程序,但在没有 SecureStorage 的情况下会偏离轨道。
我是否需要订阅 99 美元才能在 iPhoneSimulator 上测试 SecureStorage 等这些功能?这在使用物理 iPhone 时会起作用吗?
编辑
我可以从我的 iPad(物理)上的 macbook 上的 XCode 中调试示例项目,但显然我无法在我的 iPad 上使用 Visual Studio for Mac。我收到以下错误:
/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/iOS/Xamarin.iOS.Common.targets(3,3):错误:在 iOS 上找不到 Helloworld.iOS 的任何可用配置文件。
我在 VSMac 中还缺少什么?此外,我已经信任我 iPad 上的开发者帐户,因此我能够从 XCode 运行示例。
我使用了位于/Applications/Xcode.app的 XCode 12.1