Ios cordova应用程序中缺少框架的Info.plist文件
我有一个cordova应用程序,在设备中编译和运行时运行良好,但当我将其上传到应用程序商店时。“构建无效”。我还收到了苹果公司的邮件:iTunes ConnectIos cordova应用程序中缺少框架的Info.plist文件,ios,xcode,cordova,cordova-plugins,appstore-approval,Ios,Xcode,Cordova,Cordova Plugins,Appstore Approval,我有一个cordova应用程序,在设备中编译和运行时运行良好,但当我将其上传到应用程序商店时。“构建无效”。我还收到了苹果公司的邮件:iTunes Connect Dear Developer, We identified one or more issues with a recent delivery for your app, APP_NAME. 请更正以下问题,然后重新上载 1.) This bundle is invalid - The Info.plist file for
Dear Developer,
We identified one or more issues with a recent delivery for your app, APP_NAME.
请更正以下问题,然后重新上载
1.) This bundle is invalid - The Info.plist file for /Payload/APP_NAME.app/www/js/cordova-ios/tests/spec/unit/fixtures/org.test.plugins.dummyplugin/src/ios/Custom.framework is missing or could not be read.
2.) Invalid Bundle - The bundle at '/Payload/APP_NAME.app/www/js/cordova-ios/tests/spec/unit/fixtures/org.test.plugins.dummyplugin/src/ios/Custom.framework' does not contain a bundle executable.
3.) This bundle is invalid - The Info.plist file for /Payload/APP_NAME.app/www/js/cordova-ios/tests/spec/unit/fixtures/org.test.plugins.dummyplugin/src/ios/CustomEmbeddable.framework is missing or could not be read.
4.) Invalid Bundle - The bundle at '/Payload/APP_NAME.app/www/js/cordova-ios/tests/spec/unit/fixtures/org.test.plugins.dummyplugin/src/ios/CustomEmbeddable.framework' does not contain a bundle executable.
似乎找不到理由。生成如何在本地设备中工作,但在生成、存档和上载时,其生成无效
提前感谢:)
我的配置文件内容:
<?xml version='1.0' encoding='utf-8'?>
<widget id="com.docandtrack.app" version="2.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<name>Doc and Track</name>
<description>
An App for Truckers to use the Doc and Track system
</description>
<author email="email" href="endpoint link">
Doc and Track
</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="SplashScreen" value="screen" />
<platform name="android">
<allow-intent href="market:*" />
<preference name="AutoHideSplashScreen" value="true" />
<preference name="FadeSplashScreen" value="false" />
<preference name="SplashScreenDelay" value="1500" />
<preference name="SplashShowOnlyFirstTime" value="false" />
<splash density="land-hdpi" src="res/android/screen.9.png" />
<splash density="land-ldpi" src="res/android/screen.9.png" />
<splash density="land-mdpi" src="res/android/screen.9.png" />
<splash density="land-xhdpi" src="res/android/screen.9.png" />
<splash density="port-hdpi" src="res/android/screen.9.png" />
<splash density="port-ldpi" src="res/android/screen.9.png" />
<splash density="port-mdpi" src="res/android/screen.9.png" />
<splash density="port-xhdpi" src="res/android/screen.9.png" />
<icon density="ldpi" src="res/android/icon-ldpi.png" />
<icon density="mdpi" src="res/android/icon-mdpi.png" />
<icon density="hdpi" src="res/android/icon-hdpi.png" />
<icon density="xhdpi" src="res/android/icon-xhdpi.png" />
<icon density="xxhdpi" src="res/android/icon-xxhdpi.png" />
<icon density="xxxhdpi" src="res/android/icon-xxxhdpi.png" />
</platform>
<platform name="ios">
<allow-intent href="itms:*" />
<allow-intent href="itms-apps:*" />
<preference name="BackupWebStorage" value="none" />
<preference name="deployment-target" value="10.0" />
<splash height="480" src="res/ios/screen/Default~iphone.png" width="320" />
<splash height="960" src="res/ios/screen/Default@2x~iphone.png" width="640" />
<splash height="1024" src="res/ios/screen/Default-Portrait~ipad.png" width="768" />
<splash height="2048" src="res/ios/screen/Default-Portrait@2x~ipad.png" width="1536" />
<splash height="768" src="res/ios/screen/Default-Landscape~ipad.png" width="1024" />
<splash height="1536" src="res/ios/screen/Default-Landscape@2x~ipad.png" width="2048" />
<splash height="1136" src="res/ios/screen/Default-568h@2x~iphone.png" width="640" />
<splash height="1334" src="res/ios/screen/Default-667h.png" width="750" />
<splash height="2208" src="res/ios/screen/Default-736h.png" width="1242" />
<splash height="1242" src="res/ios/screen/Default-Landscape-736h.png" width="2208" />
<icon height="20" src="res/ios/icon-20.png" width="20" />
<icon height="40" src="res/ios/icon-20@2x.png" width="40" />
<icon height="180" src="res/ios/icon-60@3x.png" width="180" />
<icon height="120" src="res/ios/icon-60@2x.png" width="120" />
<icon height="167" src="res/ios/icon-83.5@2x.png" width="167" />
<icon height="152" src="res/ios/icon-76@2x.png" width="152" />
<icon height="76" src="res/ios/icon-76.png" width="76" />
<icon height="80" src="res/ios/icon-40@2x.png" width="80" />
<icon height="60" src="res/ios/icon-60.png" width="60" />
<icon height="87" src="res/ios/icon-29@3x.png" width="87" />
<icon height="58" src="res/ios/icon-29@2x.png" width="58" />
<icon height="29" src="res/ios/icon-29.png" width="29" />
<icon height="114" src="res/ios/icon-57@2x.png" width="114" />
<icon height="57" src="res/ios/icon-57.png" width="57" />
<icon height="100" src="res/ios/icon-50@2x.png" width="100" />
<icon height="50" src="res/ios/icon-50.png" width="50" />
<icon height="144" src="res/ios/icon-72@2x.png" width="144" />
<icon height="72" src="res/ios/icon-72.png" width="72" />
<icon height="1024" src="res/ios/icon-1024.png" width="1024" />
</platform>
<plugin name="cordova-plugin-whitelist" spec="1" />
<plugin name="cordova-plugin-splashscreen" spec="~3.1.0" />
<plugin name="cordova-plugin-file-transfer" spec="~1.5.0" />
<plugin name="cordova-plugin-datepicker" spec="~0.9.3" />
<plugin name="cordova-plugin-statusbar" spec="~2.1.0" />
<plugin name="cordova-plugin-dialogs" spec="~1.2.0" />
<plugin name="docandtrack-image-plugin" />
<plugin name="com.transistorsoft.cordova.background-geolocation" spec="https://github.com/transistorsoft/cordova-background-geolocation.git" />
<edit-config file="*-Info.plist" mode="merge" target="NSMotionUsageDescription">
<string>Using the accelerometer increases battery-efficiency by intelligently toggling location-tracking only when the device is detected to be moving</string>
</edit-config>
<edit-config file="*-Info.plist" mode="merge" target="NSPhotoLibraryUsageDescription">
<string>Photo library is required for storing documents</string>
</edit-config>
<edit-config file="*-Info.plist" mode="merge" target="NSCameraUsageDescription">
<string>Camera is required for storing documents</string>
</edit-config>
<edit-config file="*-Info.plist" mode="merge" target="NSLocationAlwaysAndWhenInUseUsageDescription">
<string>Background location-tracking is required for route mapping</string>
</edit-config>
<edit-config file="*-Info.plist" mode="merge" target="NSLocationWhenInUseUsageDescription">
<string>Location tracking is required for route mapping</string>
</edit-config>
<edit-config file="*-Info.plist" mode="merge" target="NSLocationUsageDescription">
<string>Location tracking is required for route mapping</string>
</edit-config>
<preference name="cordova-background-geolocation-license" value="xxxxxxxxxxx" />
<preference name="cordova-background-geolocation-orderId" value="xxxxxxxxxxxx" />
<preference name="AndroidPersistentFileLocation" value="Compatibility" />
<preference name="StatusBarOverlaysWebView" value="false" />
<preference name="StatusBarBackgroundColor" value="#2C3642" />
<preference name="StatusBarStyle" value="blackopaque" />
<preference name="DisallowOverscroll" value="true" />
<plugin name="cordova-plugin-inappbrowser" spec="~1.4.0" />
<plugin name="cordova-plugin-file" spec="^5.0.0" />
<plugin name="cordova-plugin-camera" spec="^4.0.2" />
<plugin name="cordova-android-support-gradle-release" spec="^1.3.0">
<variable name="ANDROID_SUPPORT_VERSION" value="27.+" />
</plugin>
<plugin name="cordova-plugin-sim" spec="~1.3.3" />
<plugin name="cordova-plugin-crosswalk-webview" spec="^2.2.0">
<variable name="XWALK_VERSION" value="23+" />
<variable name="XWALK_LITEVERSION" value="xwalk_core_library_canary:17+" />
<variable name="XWALK_COMMANDLINE" value="--disable-pull-to-refresh-effect" />
<variable name="XWALK_MODE" value="embedded" />
<variable name="XWALK_MULTIPLEAPK" value="true" />
</plugin>
<plugin name="cordova-plugin-device" spec="^2.0.2" />
<engine name="android" spec="^6.3.0" />
<engine name="ios" spec="~4.5.4" />
</widget>
文档和跟踪
卡车司机使用Doc和Track系统的应用程序
以下是我的js文件夹内容:
问题是,您的js
文件夹中有整个cordova ios
库代码。由于您拥有所有的cordova ios
代码,它还包含测试,其中包括dummyplugin
测试,该测试包含无效的自定义框架,无法通过Apple验证
您不必添加它,也不必添加cordova-android
,也不必添加任何插件和lib。现在,请删除整个cordova ios文件夹并重新构建应用程序
所需的cordova ios
代码和插件代码由cordova prepare
命令生成,并复制到适当的appName/platforms/ios/www
文件夹中。您可以添加您的config.xml或至少共享您正在使用的插件吗?@Phonolog我已经添加了我的配置文件内容您可以共享您的配置文件的屏幕截图吗www文件夹?它是一个普通的Cordova应用程序,还是您使用一些框架来构建应用程序?您是否使用捆绑软件?您是否可以尝试生成一个.ipa并通过hockeyApp安装到手机中?检查是否一切正常。这样你就能更清楚地了解出了什么问题。@kartheckramesh不是apphockey,而是安装了debug和distribution,它们工作正常。只有应用商店上传有问题。我不记得自己做过类似的事情,在那里添加它。现在解决这个问题的方法是什么?从js文件夹中删除cordova ios、cordova android以及其他您没有真正使用的东西。