Ionic 3 - 添加或构建 iOS 应用程序时出错
Posted
技术标签:
【中文标题】Ionic 3 - 添加或构建 iOS 应用程序时出错【英文标题】:Ionic 3 - Error when adding or building iOS app 【发布时间】:2018-03-27 07:04:11 【问题描述】:使用ionic cordova build ios
或ionic cordova platform add ios
构建或添加ios 时出现以下错误。该构建适用于 android。
IOS project now has deployment target set as: 8.0
IOS project Code Sign Entitlements now set to: App/Resources/App.entitlements
Entitlements file is not in references section, adding it
Error: ENOENT: no such file or directory, open '/Users/cipriancirstea/Documents/ionic_app/ul_web_hooks/ios/https:/t4edc.app.goo.gl/#apple-app-site-association'
at Object.fs.openSync (fs.js:667:18)
at Object.fs.writeFileSync (fs.js:1326:33)
at saveContentToFile (/Users/cipriancirstea/Documents/ionic_app/plugins/cordova-universal-links-plugin/hooks/lib/ios/appleAppSiteAssociationFile.js:118:8)
at /Users/cipriancirstea/Documents/ionic_app/plugins/cordova-universal-links-plugin/hooks/lib/ios/appleAppSiteAssociationFile.js:72:5
at Array.forEach (<anonymous>)
at createNewAssociationFiles (/Users/cipriancirstea/Documents/ionic_app/plugins/cordova-universal-links-plugin/hooks/lib/ios/appleAppSiteAssociationFile.js:70:27)
at Object.generate (/Users/cipriancirstea/Documents/ionic_app/plugins/cordova-universal-links-plugin/hooks/lib/ios/appleAppSiteAssociationFile.js:45:3)
at activateUniversalLinksInIos (/Users/cipriancirstea/Documents/ionic_app/plugins/cordova-universal-links-plugin/hooks/afterPrepareHook.js:85:29)
at /Users/cipriancirstea/Documents/ionic_app/plugins/cordova-universal-links-plugin/hooks/afterPrepareHook.js:50:11
at Array.forEach (<anonymous>)
errno: -2,
code: 'ENOENT',
syscall: 'open',
path: '/Users/cipriancirstea/Documents/ionic_app/ul_web_hooks/ios/https:/t4edc.app.goo.gl/#apple-app-site-association'
config.xml
<universal-links>
<host name="https://t4edc.app.goo.gl/" scheme="https" />
<host name="example-902cc.firebaseapp.com" scheme="https">
<path url="/__/auth/callback" />
</host>
</universal-links>
【问题讨论】:
如果你读到:没有这样的文件或目录,打开'/Users/cipriancirstea/Documents/ionic_app/ul_web_hooks/ios/https:/t4edc.app.goo.gl/#apple -app-site-association' 你可能导入了一些东西,但它找不到它的依赖项。 【参考方案1】:这是因为您在主机name
前添加了https://
。
要消除错误,只需替换以下内容:
<host name="https://t4edc.app.goo.gl/" scheme="https" />
用这个:
<host name="t4edc.app.goo.gl/" scheme="https" />
错误的原因是插件自动在ul_web_hooks/ios/
下创建文件,文件以对应的主机名命名。在 MacOs 上(通常在 *nix 平台上),冒号 (:
) 不允许作为文件路径的一部分。
希望对您有所帮助!祝你好运!
【讨论】:
【参考方案2】:根据输出,您似乎正在尝试在 Windows 操作系统上构建。
不幸的是,您需要一个带有 Xcode 的苹果或 Mac 操作系统才能正确构建 IOS 设备。
For Reference
【讨论】:
没有。我正在Mac上构建。我将项目从 Ubuntu 操作系统转移。为什么你说我是从 Windows 构建的?你可以说得更详细点吗?我确实在 Windows 操作系统上运行了该项目并推送到存储库。也许这会以某种方式影响它。 @Ciprian 只是下面的路径“/Users/cipriancirstea/Documents/”看起来像windows路径。确保您推送到存储库的代码不包含 plugins 文件夹。 Ionic 应该根据操作系统为您构建它。我会确保您不会在 application/src 文件和 package.json 文件之外再拉入任何文件。node_modules
不包含在存储库中。我删除了很多次文件夹并重新安装了
@Ciprian 并不理想,但如果您仍然无法从头开始新的安装/项目。 ionicframework.com/docs/intro/installation 然后尝试为ios构建项目。一旦工作开始将您的项目迁移到新项目中。
我想过这样做,但我可能会遇到同样的问题。 config.xml
中有一个 <universal-links>
标记(请参阅我的编辑),我假设在使用 Firebase 进行身份验证后重定向回应用程序。我通过 Firebase 使用社交登录。因此,在删除 universal-links-plugin
后,它适用于 Android,但在尝试使用任何社交帐户进行身份验证时,它什么也没做。以上是关于Ionic 3 - 添加或构建 iOS 应用程序时出错的主要内容,如果未能解决你的问题,请参考以下文章
带有扩展名的应用程序的 Ionic/Cordova iOS 应用程序构建错误 - ** 存档失败 **
Ionic/cordova:如何使用 fastlane 或 xcodebuild 添加推送功能?
IONIC白屏问题与初始屏幕挂起第一次加载(iOS - ionic3)