【问题标题】:Xamarin.Forms: Debug on iPhoneSimulatorXamarin.Forms:在 iPhoneSimulator 上调试
【发布时间】:2021-02-04 01:18:23
【问题描述】:

我正在尝试在 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 运行示例。

我使用的是 XCode 12.1,位于 /Applications/Xcode.app

【问题讨论】:

    标签: ios xamarin.forms xamarin.essentials


    【解决方案1】:

    您可以创建一个免费的 Apple 帐户进行测试。

    1。使用个人苹果账号登录 Xcode

    1. 在 Mac 上启动 Xcode
    2. 选择 Xcode → Preferences 菜单并导航到 Account 窗格
    3. 点击左下角的 + 按钮并选择 Apple ID
    4. 使用您的 Apple ID 电子邮件地址和密码登录。

    您现在可以在 Xcode 中访问您的开发者帐户。您添加的开发者帐户称为“个人团队”,应该会显示在右侧的列表中。

    2。在真机上运行应用程序

    确保您的 iPhone(或 iPad)已通过 USB 连接到您的 Mac。当您的 iPhone 提示您确认连接到您的 Mac 时,点按信任。

    然后,在 Xcode 中,选择 Window → Devices and Simulators 菜单。从列表中选择您的 iPhone,然后单击 Enable Device for Development 按钮。 (根据具体情况,这可能不是必需的步骤。)启用“通过网络连接”选项也很聪明,它可以让您在 iPhone 上调试应用程序,而无需通过 USB 连接。

    现在您可以在模拟器和真实设备上使用 Auto Provisioning 测试您的代码。

    【讨论】:

    • 遗憾的是,我的 macbook 上没有 USB 端口。我必须先获得一个转换适配器。如果可行,我会及时通知您
    • 我在 XCode 中创建了一个新项目,并且能够从 XCode 运行它。然后我复制了捆绑标识符(XCode -> 选择解决方案 -> 签名和功能 -> 复制捆绑标识符)并将其粘贴到 Visual Studio -> iOS 项目 -> info.plist -> 捆绑标识符中。现在我可以在我的 ipad 上运行我的 ios 项目
    【解决方案2】:

    很奇怪,但我玩弄了我项目的设置。

    我按照以下链接中的说明进行操作:https://docs.microsoft.com/nl-be/xamarin/ios/get-started/installation/device-provisioning/free-provisioning?tabs=windows#limitations。这可确保使用 XCode 在您的 ipad 上部署应用程序,其应用程序 ID 与您最终将在 Visual Studio 中使用的应用程序 ID 相同。您需要具有与最终将在 Xamarin.iOS 中使用的相同的Bundle Identifier

    在此之后,我在我的 iOS 项目中使用了以下设置:

    根据this link,我还确保我已登录。在此之后,我不得不重新启动我的 Visual Studio For Windows,并且我能够从我的 PC 在我的 iPad 上进行调试。

    【讨论】:

      猜你喜欢
      • 2020-10-20
      • 2015-05-31
      • 2017-12-12
      • 1970-01-01
      • 2020-05-10
      • 2017-08-09
      • 1970-01-01
      • 1970-01-01
      • 2019-04-19
      相关资源
      最近更新 更多