iOS的Cordova构建 - 未找到配置文件

12

我面临着在MacOS上构建Cordova的问题。Android的构建工作正常,但构建iOS非常痛苦。以下是发生的情况:

>cordova build ios --device --debug --buildConfig ./build.json
.....
Check dependencies
No profile matching '******' found:  Xcode couldn't find a profile matching '******'. Install the profile (by dragging and dropping it onto Xcode's dock item) or select a different one in the General tab of the target editor.
Code signing is required for product type 'Application' in SDK 'iOS 10.2'

这是最新版本的一切(node、cordova、cordova-ios、XCode等)的全新安装。我已经在开发人员ID、团队、证书和配置文件方面设置好了所有内容。所有这些工件都是有效的,我确定,因为我正在将此构建从Intel XDK移动到我的本地Mac电脑。以下是我的build.json:

{
    "ios": {
        "debug": {
            "provisioningProfile": "******",
            "developmentTeam": "******",
            "packageType": "development"
        },
        "release": {
            "provisioningProfile": "******",
            "developmentTeam": "*******",
            "packageType": "app-store"
        }
    }
}

我可以在XCode账户首选项中看到所有我的配置文件。 我也可以在 /Users/me/Library/MobileDevices/Provisioning Profiles 文件夹中看到它们。 我已经打开了XCode项目,并在Build Settings和General选项卡中调整了项目和目标的代码签名。 配置文件在那里,团队ID也在那里。
现在我需要让cordova命令行工作。
那么,我如何使cordova和XCode合作? 它在哪里查找这些配置文件,为什么找不到它们? 有什么问题吗?

我已经成功在XCode模拟器中运行了Cordova生成的项目,它可以正常工作。但是由于签名问题,我无法生成ipa文件。 - Dima
我已经成功地将Cordova生成的项目在XCode中使用,将产品导出为ipa并在iPhone上运行。但是我完全无法使用Cordova命令行生成没有任何用户交互的ipa文件。 - Dima
2个回答

18

我也遇到了这个问题,并花了几天时间尝试构建,直到最后我才弄清楚了。由于某种原因,如果我的iPhone插入Mac中,构建将会失败,但是如果我拔掉它,构建就可以正常完成。然后,我打开Xcode,插入手机,并没有出现任何问题。我对发生这种情况的原因没有解释,但自那以后我就没有再见到这个错误。希望这可以帮助任何遇到此问题的人。


可以确认,在2019年的Xcode 10.2.1中,这个问题仍然存在。 - Vyrnach
同样的问题,我拔掉了iPhone,构建成功。Xcode 12.1 - zhangv
可以确认,在最新版本的Cordova 10.0.0和Xcode 12.5中,这个问题仍然存在。我们花了5个小时才发现需要拔掉手机才能让Cordova编译。 - M. Fish

0

我差点放弃了,但是...奇迹发生了。
通过将Cordova升级到7.0.1,MacOS升级到10.12.5和XCode升级到8.3.2,一切都自动修复了。
坦白地说,我不知道哪里出了问题,主要嫌疑人是XCode - 宇宙中最可怕的开发环境。


Cordova 7.0.1,OS X 10.12.5,Xcode 8.3.3,同样的问题,但仍然存在相同的问题... - user5365075
1
我感同身受...不知道为什么它突然开始对我起作用了。我更新了配置文件,这也可能是一个因素。 - Dima
我使用了免费的“个人团队”配置文件,可能是问题出在这里吗? - user5365075
我不确定是否是同一个问题。我确实有有效的配置文件,并且可以使用cordova创建的项目手动构建(运行XCode)。我的问题是,从命令行无法工作,我必须一直打开这个讨厌的XCode来构建发布。尝试在XCode中打开生成的项目,看看是否可以手动构建。如果可以,则您的配置文件没有问题,否则问题可能出在配置文件上。 - Dima
我可以手动构建,没有任何问题。我可以在手机上成功启动应用程序。我唯一做不到的就是运行命令:(所以我无法使用实时重载和控制台日志:( - user5365075

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接