run - phonegap ios
Cordova genera un error de iOS: el archivo no se encuentra en la ruta ''ruta/a/myApp.xcarchive " (4)
Cordova iOS es compatible con el nuevo sistema de compilación desde la versión 5.0.0 (consulte las notas de la versión ).
Así que actualice su package.json a
"cordova-ios": "5.0.0"
(o posterior) y llame a
npm install
.
Tenga en cuenta que luego tuve que limpiar todo (eliminar las plataformas de directorios, complementos, www) para que funcione.
He estado luchando para que Cordova funcione y se ejecute en mi iPhone. Sigo los comandos a continuación pero veo el error a continuación en la compilación:
cordova create myApp org.apache.cordova.myApp myApp
cd myApp
cordova platform add ios
cordova build ios
Me sale el siguiente error:
Building project: /Users/ben/Desktop/myTest/platforms/ios/myTest.xcworkspace
Configuration: Debug
Platform: device
User defaults from command line:
IDEArchivePathOverride = /Users/ben/Desktop/myTest/platforms/ios/myTest.xcarchive
Build settings from command line:
CONFIGURATION_BUILD_DIR = /Users/ben/Desktop/myTest/platforms/ios/build/device
SHARED_PRECOMPS_DIR = /Users/ben/Desktop/myTest/platforms/ios/build/sharedpch
Build settings from configuration file ''/Users/ben/Desktop/myTest/platforms/ios/cordova/build-debug.xcconfig'':
CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES = YES
CODE_SIGN_ENTITLEMENTS = $(PROJECT_DIR)/$(PROJECT_NAME)/Entitlements-$(CONFIGURATION).plist
CODE_SIGN_IDENTITY = iPhone Developer
ENABLE_BITCODE = NO
GCC_PREPROCESSOR_DEFINITIONS = DEBUG=1
HEADER_SEARCH_PATHS = "$(TARGET_BUILD_DIR)/usr/local/lib/include" "$(OBJROOT)/UninstalledProducts/include" "$(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/include" "$(BUILT_PRODUCTS_DIR)"
OTHER_LDFLAGS = -ObjC
SWIFT_OBJC_BRIDGING_HEADER = $(PROJECT_DIR)/$(PROJECT_NAME)/Bridging-Header.h
error: archive not found at path ''/Users/ben/Desktop/myTest/platforms/ios/myTest.xcarchive''
** EXPORT FAILED **
(node:4984) UnhandledPromiseRejectionWarning: Error code 65 for command: xcodebuild with args: -exportArchive,-archivePath,myTest.xcarchive,-exportOptionsPlist,/Users/ben/Desktop/myTest/platforms/ios/exportOptions.plist,-exportPath,/Users/ben/Desktop/myTest/platforms/ios/build/device
(node:4984) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:4984) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
He intentado quitar y agregar plataformas. También, desinstalando cosas también.
Estoy en macOS High Sierra y Xcode 10.
Hay un trabajo por github.com/apache/cordova-ios/issues/407 .
Si está compilando en la línea de comandos, puede especificar --buildFlag = "- UseModernBuildSystem = 0":
# Cordova CLI
cordova run ios --buildFlag=''-UseModernBuildSystem=0''
cordova build ios --buildFlag=''-UseModernBuildSystem=0''
# Ionic CLI
ionic cordova run ios -- --buildFlag="-UseModernBuildSystem=0"
ionic cordova build ios -- --buildFlag="-UseModernBuildSystem=0"
Si está compilando con un archivo de configuración build.json, puede agregar lo siguiente en la versión de iOS o la configuración de depuración:
"buildFlag": [
"-UseModernBuildSystem=0"
]
Si está abriendo el proyecto en el IDE de Xcode, debe cambiar el sistema de compilación en la Configuración del área de trabajo a "Sistema de compilación heredado"
Ninguna solución -
--buildFlag="-UseModernBuildSystem=0"
o la configuración del sistema de compilación heredada funcionó para mí.
Por alguna razón, el error solo desaparece si estoy seguro de desconectar mi iPad o iPhone de usb en mi computadora antes de ejecutar el comando cordova build.
Tal vez algo extraño sobre mi configuración, pero pensé que lo compartiría en caso de que ayude a alguien más.
Si no desea configurarlo en el indicador de compilación todo el tiempo, abra su MyApp.xcworkspace y vaya a:
Nota al margen : Sí, debe hacer esto todo el tiempo agregando la plataforma ios en Córdoba. (por ejemplo, quitaste y agregaste de nuevo la plataforma ios)
Archivo> Configuración del área de trabajo> Elegir para compilar sistema: Sistema de compilación heredado