ionic cordova run ios - 导出失败,错误码为65。

4

我已经完成了对这个错误的研究。当我尝试运行ionic cordova run ios --livereload时,出现以下错误:

[cordova]  Non-system Ruby in use. This may cause packaging to fail.
[cordova]  If you use RVM, please run `rvm use system`.
[cordova]  If you use chruby, please run `chruby system`.
[cordova]  error: archive not found at path '/Users/yassinezeriouh/Desktop/doday2/platforms/ios/DoDay.xcarchive'
[cordova]  ** EXPORT FAILED **
[cordova]  
[cordova]  CordovaError: Promise rejected with non-error: 'Error code 65 for command: xcodebuild with args: -exportArchive,-archivePath,DoDay.xcarchive,-exportOptionsPlist,/Users/yassinezeriouh/Desktop/doday2/platforms/ios/exportOptions.plist,-exportPath,/Users/yassinezeriouh/Desktop/doday2/platforms/ios/build/device,-allowProvisioningUpdates'
  • 重新安装了iOS
  • 降级了iOS
  • Xcode中的所有签名都是正确的
  • 尝试使用自定义build.json
  • 重新安装了所有插件

在我的设备上在Xcode中运行该项目完美地工作,尝试解决这个问题已经4个小时了,希望你能帮忙。 我正在运行iOS 12,使用Xcode 10.1,cordova 8.1.2,ionic 4.40(实际项目正在运行ionic v3,上个月创建)

我的config.xml(除了android和ios的splash/icon部分):

<?xml version='1.0' encoding='utf-8'?>
<widget id="io.zeriouh.censored" version="1.3" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
    <name>Censored</name>
    <description>Censored</description>
    <author email="cen@so.red" href="http://ce.nsor.ed/">Yassine Zeriouh</author>
    <content src="index.html" />
    <access origin="*" />
    <allow-intent href="http://*/*" />
    <allow-intent href="https://*/*" />
    <allow-intent href="tel:*" />
    <allow-intent href="sms:*" />
    <allow-intent href="mailto:*" />
    <allow-intent href="geo:*" />
    <preference name="ScrollEnabled" value="false" />
    <preference name="android-minSdkVersion" value="19" />
    <preference name="BackupWebStorage" value="none" />
    <preference name="SplashMaintainAspectRatio" value="false" />
    <preference name="FadeSplashScreenDuration" value="300" />
    <preference name="SplashShowOnlyFirstTime" value="false" />
    <preference name="SplashScreen" value="screen" />
    <preference name="SplashScreenDelay" value="100" />
    <platform name="android">
        <allow-intent href="market:*" />
    </platform>
    <platform name="ios">
        <allow-intent href="itms:*" />
        <allow-intent href="itms-apps:*" />
    </platform>
    <engine name="android" spec="6.3.0" />
    <plugin name="cordova-plugin-whitelist" spec="^1.3.3" />
    <plugin name="cordova-plugin-statusbar" spec="^2.4.2" />
    <plugin name="cordova-plugin-device" spec="^2.0.2" />
    <plugin name="cordova-plugin-splashscreen" spec="^5.0.2" />
    <plugin name="cordova-plugin-ionic-webview" spec="^2.2.0">
        <variable name="ANDROID_SUPPORT_ANNOTATIONS_VERSION" value="27.+" />
    </plugin>
    <plugin name="cordova-plugin-ionic-keyboard" spec="^2.1.3" />
    <plugin name="cordova-plugin-inapppurchase" spec="~1.2.0" />
    <plugin name="com.omarben.inappreview" spec="~0.0.6" />
    <plugin name="cordova-plugin-admob-free" spec="~0.22.0" />
    <plugin name="cordova-plugin-email-composer" spec="~0.8.15" />
    <plugin name="cordova-plugin-local-notification" spec="~0.9.0-beta.2" />
    <plugin name="cordova-plugin-badge" spec="~0.8.7" />
    <plugin name="cordova-plugin-apprate" spec="~1.4.0" />
    <engine name="ios" spec="~4.5.5" />
</widget>

你能否更新你的问题并附上你的config.xml文件。 - Sudarshana Dayananda
在终端上尝试使用 cordova cleanionic cordova run ios --l 命令。 - Sudarshana Dayananda
@SudarshanaDayananda添加了我的config.xml,cordova clean没有改变任何东西,与之前相同的错误。 - Yassine Zeriouh
尝试将 <engine name="ios" spec="~4.5.5" /> 更改为 <engine name="ios" spec="^4.5.5" />,然后再添加 ios 平台。 - Sudarshana Dayananda
@SudarshanaDayananda 没有改变任何东西。 - Yassine Zeriouh
4个回答

6

由于Xcode 10.1和Ionic 3构建方式不同,因此请尝试以下方法:

ionic cordova run ios -- --buildFlag="-UseModernBuildSystem=0" --livereload


请注意,上述命令中保留了HTML标签。

2

关于"cordova-ios": "4.5.5"存在问题。 请按照以下步骤尝试解决。

  • ionic cordova platform rm ios
  • npm uninstall cordova-ios
  • npm install cordova-ios@4.4.0
  • ionic cordova platform add ios@4.4.0
  • ionic cordova run ios --livereload

0

对我而言,在将我的Cordova iOS版本从4.5.5更改为4.4.0后,它可行了。

  1. package.json 中,我将 "cordova-ios": "4.5.5" 更改为 "cordova-ios": "4.4.0"
  2. 在 config.xml 中,我将 <engine name="ios" spec="4.5.5" /> 更改为 <engine name="ios" spec="4.4.0" />
  3. rm -rf node_modules/ platforms/ios/
  4. npm i
  5. ionic cordova build ios

0

当我使用“prod”标签构建ios时,遇到了同样的问题。

我的环境:

  • MacOS catalina 10.5.4
  • Xcode版本12.2
  • cordova-ios 6.0.0

对我而言,解决方案是在第一次构建出现问题后,在xcode上签署应用程序(打开平台/ios并签署应用程序)。然后按照人们在这里建议的命令进行构建,但我还必须添加“--device”标签。之后就可以正常工作了 :)

ionic cordova run ios --prod --release --buildFlag="-UseModernBuildSystem=0"  --device

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