Xamarin.Forms: 在 iPhoneSimulator 上调试
Xamarin.Forms: Debug on iPhoneSimulator
我正在尝试在 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: Error adding record: MissingEntitlement
所以我编辑了 Entitlements.plist 并启用了 KeyChain
权利。再次尝试调试,还是一样的错误。所以我转到项目属性 > iOS Bundle Signing 并将 Custom entitlements
设置为我的 Entitlements.plist。这以某种方式将方案切换为 手动配置 .
Could not find any available provisioning profiles for MyApplication.iOS on iOS
所以我做了这个答案所说的:。现在我仍然收到 MissingEntitlement 异常。
当我删除自定义授权并切换回自动配置时,我可以再次 运行 该应用程序,但当然没有 SecureStorage。
我是否需要订阅 99 美元才能在 iPhoneSimulator 上测试这些功能,例如 SecureStorage?这在使用物理 iPhone 时有效吗?
编辑
我可以在我的 iPad(物理)上从我的 macbook 中调试来自 XCode 的示例项目,但显然我无法使用 Visual Studio Mac 在我的 iPad 上。我收到以下错误:
/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/iOS/Xamarin.iOS.Common.targets(3,3):
Error: Could not find any available provisioning profiles for
Helloworld.iOS on iOS.
我在 VSMac 中还缺少什么?
此外,我已经在 iPad 上信任我的开发者帐户,因此我能够 运行 来自 XCode 的示例。
我用过 XCode 12.1,位于 /Applications/Xcode.app
您可以创建一个免费的 Apple 帐户进行测试。
1。使用个人 Apple 帐户登录 Xcode
- 在您的 Mac
上开始 Xcode
- 选择 Xcode → 首选项 菜单并导航至“帐户”面板
- 单击 bottom-left 角的 + 按钮并选择 Apple ID
- 使用您的 Apple ID 电子邮件地址和密码登录。
您现在可以在 Xcode 中访问您的开发者帐户。您添加的开发者账号名为“个人团队”,应该会出现在右侧的列表中。
2。 运行 真实设备上的应用程序
确保您的 iPhone(或 iPad)已通过 USB 连接到您的 Mac。当您的 iPhone 提示您确认连接到您的 Mac 时,点击信任。
然后,在 Xcode 中,选择 Window → 设备和模拟器菜单。 Select 您的 iPhone 从列表中,然后单击“为开发启用设备”按钮。 (根据上下文,这可能不是必要的步骤。)启用“通过网络连接”选项也很明智,它允许您在 iPhone 上调试应用程序而无需通过 USB 连接。
现在您可以在模拟器和真实设备上使用 Auto Provisioning 测试您的代码。
很奇怪,但我尝试了项目的设置。
我遵循了以下 link 中的说明:https://docs.microsoft.com/nl-be/xamarin/ios/get-started/installation/device-provisioning/free-provisioning?tabs=windows#limitations。这确保应用程序部署在您的 ipad 上,使用 XCode,与您最终将在 Visual Studio 中使用的相同 app-id。您需要具有与您最终将在 Xamarin.iOS.
中使用的相同的 Bundle Identifier
在此之后,我在我的 iOS 项目中使用了以下设置:
根据 this link,我还确保我已登录。之后,我不得不重新启动我的 Visual Studio 对于 Windows,并且我能够在我的 iPad 来自我的电脑。
我正在尝试在 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: Error adding record: MissingEntitlement
所以我编辑了 Entitlements.plist 并启用了 KeyChain
权利。再次尝试调试,还是一样的错误。所以我转到项目属性 > iOS Bundle Signing 并将 Custom entitlements
设置为我的 Entitlements.plist。这以某种方式将方案切换为 手动配置 .
Could not find any available provisioning profiles for MyApplication.iOS on iOS
所以我做了这个答案所说的:。现在我仍然收到 MissingEntitlement 异常。
当我删除自定义授权并切换回自动配置时,我可以再次 运行 该应用程序,但当然没有 SecureStorage。
我是否需要订阅 99 美元才能在 iPhoneSimulator 上测试这些功能,例如 SecureStorage?这在使用物理 iPhone 时有效吗?
编辑
我可以在我的 iPad(物理)上从我的 macbook 中调试来自 XCode 的示例项目,但显然我无法使用 Visual Studio Mac 在我的 iPad 上。我收到以下错误:
/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/iOS/Xamarin.iOS.Common.targets(3,3): Error: Could not find any available provisioning profiles for Helloworld.iOS on iOS.
我在 VSMac 中还缺少什么? 此外,我已经在 iPad 上信任我的开发者帐户,因此我能够 运行 来自 XCode 的示例。
我用过 XCode 12.1,位于 /Applications/Xcode.app
您可以创建一个免费的 Apple 帐户进行测试。
1。使用个人 Apple 帐户登录 Xcode
- 在您的 Mac 上开始 Xcode
- 选择 Xcode → 首选项 菜单并导航至“帐户”面板
- 单击 bottom-left 角的 + 按钮并选择 Apple ID
- 使用您的 Apple ID 电子邮件地址和密码登录。
您现在可以在 Xcode 中访问您的开发者帐户。您添加的开发者账号名为“个人团队”,应该会出现在右侧的列表中。
2。 运行 真实设备上的应用程序
确保您的 iPhone(或 iPad)已通过 USB 连接到您的 Mac。当您的 iPhone 提示您确认连接到您的 Mac 时,点击信任。
然后,在 Xcode 中,选择 Window → 设备和模拟器菜单。 Select 您的 iPhone 从列表中,然后单击“为开发启用设备”按钮。 (根据上下文,这可能不是必要的步骤。)启用“通过网络连接”选项也很明智,它允许您在 iPhone 上调试应用程序而无需通过 USB 连接。
现在您可以在模拟器和真实设备上使用 Auto Provisioning 测试您的代码。
很奇怪,但我尝试了项目的设置。
我遵循了以下 link 中的说明:https://docs.microsoft.com/nl-be/xamarin/ios/get-started/installation/device-provisioning/free-provisioning?tabs=windows#limitations。这确保应用程序部署在您的 ipad 上,使用 XCode,与您最终将在 Visual Studio 中使用的相同 app-id。您需要具有与您最终将在 Xamarin.iOS.
中使用的相同的 Bundle Identifier在此之后,我在我的 iOS 项目中使用了以下设置:
根据 this link,我还确保我已登录。之后,我不得不重新启动我的 Visual Studio 对于 Windows,并且我能够在我的 iPad 来自我的电脑。