【发布时间】:2020-10-01 17:20:05
【问题描述】:
我对 NativeScript 有点陌生,所以如果这个答案很明显,我很抱歉,但我有点困惑。我开始在 Windows PC 上为 android 构建应用程序。构建 apk 文件或在模拟器中运行它没有任何问题。
我最终将相同的代码转移到了 mac,这样我就可以更新应用程序的 ios 端,并构建一个 ipa 并在 iPhone 模拟器中运行它。一切正常。
现在,我将使用更新的 IOS 代码将该 相同 代码带回 PC,但是当我运行 tns build android 时出现以下错误:
npm ERR! notsup Unsupported platform for tns-ios@2.0.0: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
npm ERR! notsup Valid OS: darwin
npm ERR! notsup Valid Arch: any
npm ERR! notsup Actual OS: win32
npm ERR! notsup Actual Arch: x64
如果我故意(并且只是)尝试在 Windows 中构建 apk 文件,为什么 NativeScript 会强迫我在 Mac 上执行此操作?看来我现在转移到 Mac 的事实迫使我留在 Mac 上?
除了维护两个代码库之外,有没有办法让 NativeScript 在编译 apk 时忽略 IOS 内容?我觉得有些不对劲。我删除了 platforms node_modules 和 hooks 目录并尝试重建,但我一直收到同样的错误。如果我将代码恢复到我将其移至 mac 之前的状态,我可以在 windows 中成功编译 APK 文件。
我在两者之间做的唯一一件事就是添加 firebase 云消息传递——在我迁移到 mac 之前,它实际上存在于 android 版本中,还有一些图像。我想也许 firebase 可能会干扰,但我在 firebase.nativescript.json 中将 using_ios 设置为 false 但这也没有做任何事情。
我也尝试了tns platform remove ios,但显然它甚至没有添加到 PC 端,这是有道理的,因为你必须有一个 mac 才能添加它。因此,我为什么要为此挠头。
【问题讨论】:
标签: android ios nativescript