【问题标题】:How to get app running on connected device如何让应用程序在连接的设备上运行
【发布时间】:2019-03-18 04:45:44
【问题描述】:

我正在尝试让一个简单的 NativeScript 应用程序在连接到我的 Mac 的设备 (iPhone) 上运行。这个简单的应用程序在模拟器上运行良好,但在连接设备时会失败。 (它是教程中的 HelloWorld 应用程序。)

从我的 mac 运行“tns run ios”时,出现以下错误:

无法在设备上应用更改:。错误是:ENOENT:没有这样的文件或目录,scandir '/Users/edscott/Library/MobileDevice/Provisioning Profiles/'。

我还尝试安装 Sidekick 并使用它来自动生成配置文件和证书。它成功地生成了配置文件和证书。 (我没有更改我的应用程序中的任何配置,如果我需要将某些内容指向这些文件或将它们复制到某个地方,我没有。也许这就是问题所在?)

从Sidekick中,选择我的连接设备时,将构建类型设置为本地和构建配置进行调试或发布,然后单击“运行设备”,我会收到非常相似的错误:

在 /Users/edscott/HelloWorld 的 LiveSync 期间检测到错误。错误:ENOENT:没有这样的文件或目录,scandir '/Users/edscott/Library/MobileDevice/Provisioning Profiles/'。

我对应用程序所做的唯一更改是更改 package.json 文件并将 nativescript.id 值设置为唯一的应用程序 ID。

仅供参考...SideKick 创建的配置文件和证书位于 /Users/edscott/Library/Application Support/NativeScriptSidekick/CodeSigning/HelloWorld/ios 目录中。

另外,我创建了一个新的 Apple ID 用于 SideKick。我在手机和 mac 上使用的苹果 id 具有 2FA,显然 SideKick 无法为具有 2FA 的苹果 id 生成配置文件和证书。

我计划尝试使用 NativeScript 构建一个从 iBeacons 读取数据的 ios 应用程序。因此,在设备上运行对我来说至关重要(与在模拟器上运行相反)。

我正在寻求下一步尝试的帮助。

更新: 根据下面添加的评论,我打开了 SideKick 使用 Xcode 创建的 provision.mobileprovision 文件——这在“/Users/edscott/Library/MobileDevice/Provisioning Profiles/”中创建了一个配置文件。但是,我仍然无法在我的设备上运行该应用程序。我现在收到以下错误:

无法在设备上应用更改:xxxx。错误是:命令 xcodebuild 失败,退出代码为 70。

此外,还报告了以下多个错误: Error Domain=IDECodesignResolverErrorDomain Code=1 "未找到签名证书“​​iOS Distribution”"

但是,基于网上发布的其他一些类似问题,我尝试直接在 Xcode 中运行该应用程序,并且成功(在我根据与 XCode 10 相关的另一个在线评论关闭调试执行之后)。

所以现在,我有办法运行该应用程序,但它不会从 CLI 或 SideKick 应用程序运行,它只能在 Xcode 中运行。

【问题讨论】:

  • 我不是 Sidekick 用户,但如果您双击临时配置文件/使用 Xcode 打开,它会自动将临时配置文件复制到库文件夹。看看是否能解决问题。

标签: ios nativescript


【解决方案1】:

如果您想在 iOS 设备上运行您的应用程序,您需要指定此处提到的有效证书和 Mobile Provision(我认为您可以从 Apple 开发人员帐户中获得):

Build 和 Run on Device 之间有很多相似之处。例如,您仍然需要提供有效的证书和移动配置才能在 iOS 设备上部署您的应用程序。为避免与上一章重复,我们将仅关注在设备上运行您的应用所需的特定要求。

在设备上运行您的应用的唯一先决条件是拥有一个 连接到您的机器。您还需要验证该设备是 在 Sidekick 中检测到。设备窗格提供有关所有 连接的设备及其当前状态 - 可访问或不可访问。打开 设备窗格,单击右下角的设备按钮 客户端一角。

这在模拟器上不是必需的。但是,如果您想创建一个可以在 iOS 设备上展示的演示,最好使用 Nativescript Playground。

【讨论】:

    【解决方案2】:

    Manoj 的评论,最终解决了这个问题。因此,我在这里添加它作为答案:

    双击临时配置文件并用Xcode打开它,它会 自动将临时配置文件复制到库文件夹。

    最初,我必须使用 Xcode 在我的设备上运行它。但是,在重新启动 NativeScript Sidekick 后,我能够使用 NativeScript Sidekick 在连接的设备上运行此应用程序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-23
      • 1970-01-01
      • 1970-01-01
      • 2015-07-27
      • 1970-01-01
      相关资源
      最近更新 更多