akofman / cordova-plugin-add-swift-support

:hammer: Swiftify your Cordova app !
MIT License
117 stars 110 forks source link

Invalid Swift Support - The SwiftSupport folder is missing #41

Open yogeshwar238 opened 7 years ago

yogeshwar238 commented 7 years ago

I am not using swift in my project, but I am using plugin Cordova fingerprint aio for which cordova-plugin-add-swift-support is dependent plugin. So I have installed it.

versions, xCode : 9.1 cordova-plugin-add-swift-support: 1.7.0 cordova-plugin-fingerprint-aio 1.2.0

Ipa files get created and application work perfect on test device. But at the time app submission to app store for upload, apple sends mail as We have discovered one or more issues with your recent delivery for "app name". To process your delivery, the following issues must be corrected: Invalid Swift Support - The SwiftSupport folder is missing. Rebuild your app using the current public (GM) version of Xcode and resubmit it. Once these issues have been corrected, you can then redeliver the corrected binary.

Also before installing these both plugin my app was successfully getting uploaded to app store.

yogeshwar238 commented 7 years ago

Any help is much appreciated. I am really stuck with issue.

Mischa1610 commented 7 years ago

@yogeshwar238 Could you please add the cordova info information's to your project here or give a link to your Repo if it is publicly accessible. I am just asking because it could be maybe a problem related to your cordova project "setup" or also related to the problem described in this PR: https://github.com/akofman/cordova-plugin-add-swift-support/pull/36

yogeshwar238 commented 7 years ago

Collecting Data...

Node version: v6.11.1

Cordova version: 7.0.1

Config.xml file:

"?xml version='1.0' encoding='utf-8'?" "widget id="" version="1.4.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0"" "name"appName"/name" "description"Test Description"/description" "author email="<test Email"" href="http://example.com.com/""

"/author" "content src="index.html" /" "access origin="*" /" "preference name="webviewbounce" value="false" /" "preference name="UIWebViewBounce" value="false" /" "preference name="DisallowOverscroll" value="true" /" "preference name="android-minSdkVersion" value="16" /" "preference name="BackupWebStorage" value="none" /" "preference name="SplashScreen" value="screen" /" "preference name="SplashScreenDelay" value="6000" /" "preference name="SplashMaintainAspectRatio" value="true" /" "preference name="ShowSplashScreenSpinner" value="true" /" "preference name="KeepRunning" value="True" /" "preference name="ShowTitle" value="True" /" "preference name="InAppBrowserStorageEnabled" value="True" /" "preference name="SuppressesIncrementalRendering" value="True" /" "preference name="loadUrlTimeoutValue" value="700000" /" "feature name="StatusBar"" "param name="ios-package" onload="true" value="CDVStatusBar" /" "/feature" "platform name="android"" "preference name="Orientation" value="default" /" "icon density="ldpi" src="resources\android\icon\drawable-ldpi-icon.png" /" "icon density="mdpi" src="resources\android\icon\drawable-mdpi-icon.png" /" "icon density="hdpi" src="resources\android\icon\drawable-hdpi-icon.png" /" "icon density="xhdpi" src="resources\android\icon\drawable-xhdpi-icon.png" /" "icon density="xxhdpi" src="resources\android\icon\drawable-xxhdpi-icon.png" /" "icon density="xxxhdpi" src="resources\android\icon\drawable-xxxhdpi-icon.png" /" "splash density="land-ldpi" src="resources\android\splash\drawable-land-ldpi-screen.png" /" "splash density="land-mdpi" src="resources\android\splash\drawable-land-mdpi-screen.png" /" "splash density="land-hdpi" src="resources\android\splash\drawable-land-hdpi-screen.png" /" "splash density="land-xhdpi" src="resources\android\splash\drawable-land-xhdpi-screen.png" /" "splash density="land-xxhdpi" src="resources\android\splash\drawable-land-xxhdpi-screen.png" /" "splash density="land-xxxhdpi" src="resources\android\splash\drawable-land-xxxhdpi-screen.png" /" "splash density="port-ldpi" src="resources\android\splash\drawable-port-ldpi-screen.png" /" "splash density="port-mdpi" src="resources\android\splash\drawable-port-mdpi-screen.png" /" "splash density="port-hdpi" src="resources\android\splash\drawable-port-hdpi-screen.png" /" "splash density="port-xhdpi" src="resources\android\splash\drawable-port-xhdpi-screen.png" /" "splash density="port-xxhdpi" src="resources\android\splash\drawable-port-xxhdpi-screen.png" /" "splash density="port-xxxhdpi" src="resources\android\splash\drawable-port-xxxhdpi-screen.png" /" "/platform" "platform name="ios"" "preference name="Orientation" value="all" /" "icon height="57" src="resources/ios/icon/icon.png" width="57" /" "icon height="114" src="resources/ios/icon/icon@2x.png" width="114" /" "icon height="40" src="resources/ios/icon/icon-40.png" width="40" /" "icon height="80" src="resources/ios/icon/icon-40@2x.png" width="80" /" "icon height="50" src="resources/ios/icon/icon-50.png" width="50" /" "icon height="100" src="resources/ios/icon/icon-50@2x.png" width="100" /" "icon height="60" src="resources/ios/icon/icon-60.png" width="60" /" "icon height="120" src="resources/ios/icon/icon-60@2x.png" width="120" /" "icon height="180" src="resources/ios/icon/icon-60@3x.png" width="180" /" "icon height="72" src="resources/ios/icon/icon-72.png" width="72" /" "icon height="144" src="resources/ios/icon/icon-72@2x.png" width="144" /" "icon height="76" src="resources/ios/icon/icon-76.png" width="76" /" "icon height="152" src="resources/ios/icon/icon-76@2x.png" width="152" /" "icon height="29" src="resources/ios/icon/icon-small.png" width="29" /" "icon height="58" src="resources/ios/icon/icon-small@2x.png" width="58" /" "icon height="87" src="resources/ios/icon/icon-small@3x.png" width="87" /" "splash height="1136" src="resources/ios/splash/Default-568h@2x~iphone.png" width="640" /" "splash height="1334" src="resources/ios/splash/Default-667h.png" width="750" /" "splash height="2208" src="resources/ios/splash/Default-736h.png" width="1242" /" "splash height="1242" src="resources/ios/splash/Default-Landscape-736h.png" width="2208" /" "splash height="1536" src="resources/ios/splash/Default-Landscape@2x~ipad.png" width="2048" /" "splash height="768" src="resources/ios/splash/Default-Landscape~ipad.png" width="1024" /" "splash height="2048" src="resources/ios/splash/Default-Portrait@2x~ipad.png" width="1536" /" "splash height="1024" src="resources/ios/splash/Default-Portrait~ipad.png" width="768" /" "splash height="960" src="resources/ios/splash/Default@2x~iphone.png" width="640" /" "splash height="480" src="resources/ios/splash/Default~iphone.png" width="320" /" "/platform" "icon src="resources/ios/icon/icon-small@3x.png" /" "plugin name="com.lampa.startapp" spec="~0.1.4" /" "plugin name="cordova-plugin-add-swift-support" spec="1.7.0" /" "plugin name="cordova-plugin-app-event" spec="1.2.0" /" "plugin name="cordova-plugin-app-version" spec="0.1.8" /" "plugin name="cordova-plugin-backbutton" spec="~0.3.0" /" "plugin name="cordova-plugin-compat" spec="1.1.0" /" "plugin name="cordova-plugin-device" spec="1.1.0" /" "plugin name="cordova-plugin-email" spec="~1.2.6" /" "plugin name="cordova-plugin-file" spec="4.1.1" /" "plugin name="cordova-plugin-file-transfer" spec="1.5.1" /" "plugin name="cordova-plugin-fingerprint-aio" spec="^1.2.1" /" "plugin name="cordova-plugin-globalization" spec="1.0.5" /" "plugin name="cordova-plugin-ignore-lint-translation" spec="~0.0.1" /" "plugin name="cordova-plugin-inappbrowser" spec="~1.7.0" /" "plugin name="cordova-plugin-network-information" spec="1.2.0" /" "plugin name="cordova-plugin-save-image" spec="~0.2.3"" "variable name="CAMERA_USAGE_DESCRIPTION" value=" " /" "variable name="PHOTOLIBRARY_USAGE_DESCRIPTION" value=" " /" "/plugin" "plugin name="cordova-plugin-screen-orientation" spec="~2.0.1" /" "plugin name="cordova-plugin-secure-storage" spec="~2.6.8" /" "plugin name="cordova-plugin-spinner-dialog" spec="1.3.1" /" "plugin name="cordova-plugin-splashscreen" spec="^4.0.3" /" "plugin name="cordova-plugin-whitelist" spec="~1.3.2" /" "plugin name="cordova-plugin-x-socialsharing" spec="5.1.2" /" "plugin name="cordova-sqlite-storage" spec="https://github.com/litehelpers/Cordova-sqlite-storage.git" /" "plugin name="ionic-plugin-keyboard" spec="~2.2.1" /" "plugin name="phonegap-plugin-push" spec="1.10.4" /" "widget"

Plugins:

com.lampa.startapp,cordova-plugin-add-swift-support,cordova-plugin-app-event,cordova-plugin-app-version,cordova-plugin-backbutton,cordova-plugin-compat,cordova-plugin-device,cordova-plugin-email,cordova-plugin-file,cordova-plugin-file-transfer,cordova-plugin-fingerprint-aio,cordova-plugin-globalization,cordova-plugin-ignore-lint-translation,cordova-plugin-inappbrowser,cordova-plugin-network-information,cordova-plugin-save-image,cordova-plugin-screen-orientation,cordova-plugin-secure-storage,cordova-plugin-spinner-dialog,cordova-plugin-splashscreen,cordova-plugin-whitelist,cordova-plugin-x-socialsharing,cordova-sqlite-storage,ionic-plugin-keyboard,phonegap-plugin-push

iOS platform:

Xcode 9.1 Build version 9B55

Mischa1610 commented 7 years ago

That is sadly not a good config.xml. For us this plugin works well and also possible to correctly configure the project for store releases. You need to get sure that you use a fix version for cordova-ios (not a local reference or github link, because that makes problems with this plugin, see PR). Otherwise it is really hard to understand what is happening for you there without more informations about your project / setup. Are you using cordova commands to build the app / ipa?

yogeshwar238 commented 7 years ago

Sorry for config.xml. it seems HTML tags are getting filtered. I hope now you can see all data.

Are you using cordova commands to build the app / ipa? yes, steps I follow on mac machine as

  1. In terminal, sudo ionic build ios
  2. Open project in xCode.
  3. Build project in Xcode
  4. Archive the project which creates ipa for me.
  5. Resign ipa before uploading to appstore
  6. Upload resigned ipa to app store for automated verification
Mischa1610 commented 7 years ago

Well, I think I know what could be the problem.

You are not using the cordova commands to build the .ipa (at least not in that sense I meant it, you don't do something like cordova build ios --device, this generates you an already "finish" .ipa if your build settings are correct, for example, setup with the build.json or also an .xcarchive that you can use with XCode to generate and/or upload an .ipa for the store).

But I think the problem is not related to this plugin, it is related to the resigning that you do at step 5. Depending on which program you use for it, it is not supporting Swift currently (the most App's that do the resigning don't work correctly with Swift, at least as far as I know). The better solution would be to configure everything correct (with the help of build.json if you need it: https://cordova.apache.org/docs/en/latest/guide/platforms/ios/#using-buildjson) within cordova and generate the "finish" .ipa already also for the app store.

But like I said that is not related to this plugin (and I am not even developing or contributing to this plugin, just wanted to help you). If you need more information's write me in a different way here ;-) My github profile: https://github.com/Mischa1610 My organisation / company I work for: https://github.com/sovanta