我正在尝试在连接到Mac的设备(iPhone)上运行一个简单的NativeScript应用程序。这个简单的应用程序在模拟器上可以正常运行,但是在连接设备后会失败。 (它是本教程中的HelloWorld应用。)
从我的Mac运行“ tns run ios”时,出现以下错误:
无法在设备上应用更改:。错误是:ENOENT:没有这样的文件或目录,scandir'/ Users / edscott / Library / MobileDevice / Provisioning Profiles/'。
我还尝试安装Sidekick,并使用它自动生成Provisioning Profile和证书。它成功生成了配置文件和证书。 (我没有更改应用程序中的任何配置,如果我需要在这些文件上指向某些内容或将它们复制到某个地方,我没有。也许是问题所在吗?)
在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上使用的Apple ID具有2FA,显然SideKick无法为2FA的Apple ID生成配置文件和证书。
我计划尝试使用NativeScript构建可从iBeacons读取数据的ios应用。因此,相对于在模拟器上运行,在设备上运行对我来说至关重要。
我正在寻找下一步的帮助。
更新: 根据下面添加的注释,我打开了SideKick使用Xcode创建的Provision.mobileprovision文件-这在'/ Users / edscott / Library / MobileDevice / Provisioning Profiles /'中创建了一个配置文件。但是,我仍然无法在设备上运行该应用程序。我现在收到以下错误:
无法在设备xxxx上应用更改。错误是:命令xcodebuild失败,退出代码为70。
此外,关于以下内容,报告了多个错误: 错误域= IDECodesignResolverErrorDomain代码= 1“未找到签名证书“ iOS发行版””
但是,基于在线发布的其他一些类似问题,我尝试直接在Xcode中运行该应用程序,并且该方法有效(在我基于与XCode 10相关的另一个在线注释关闭调试执行之后)。
所以现在,我有一种方法可以运行该应用程序,但是它不能从CLI或SideKick应用程序中运行,它只能在Xcode中运行。
答案 0 :(得分:0)
如果要在iOS设备上运行应用程序,则需要按此处所述指定有效的证书和移动供应(我认为这是从Apple开发人员帐户获得的):
“构建”和“在设备上运行”之间有很多相似之处。例如,您仍然需要提供有效的证书和移动设备设置,才能在iOS设备上部署应用程序。为避免重复上一章,我们将只关注在设备上运行您的应用程序所需的特定要求。
在设备上运行应用程序的唯一前提条件是拥有一个 连接到您的机器。您还需要验证设备是否 在Sidekick中检测到。设备窗格提供有关所有信息的信息 连接的设备及其当前状态-是否可访问。打开 在“设备”窗格中,单击右下角的“设备”按钮 客户的一角。
这在模拟器上不是必需的。但是,如果您想创建一个可以在iOS设备上展示的演示,最好使用Nativescript Playground。
答案 1 :(得分:0)
Manoj的评论最终解决了这个问题。因此,我在这里添加它作为答案:
双击临时配置文件并使用Xcode打开它,它将 自动将临时配置文件复制到库文件夹。
最初,我必须使用Xcode在设备上运行它。但是,重新启动NativeScript Sidekick之后,我能够使用NativeScript Sidekick在连接的设备上运行此应用。