Skip to content

iOS App Submission - Swift folder missing #8075

Description

@jtrunick

After submitting my app to the Apple App store I get an email that says:

Invalid Swift Support - The SwiftSupport folder is missing
I have not mucked with Swift at all in my Flutter project, only Objective-C, so I don't want Swift.

This overflow says to set "Embedded Content Contains Swift Code" to NO in Build Options.
http://stackoverflow.com/questions/32559204/invalid-swift-support-the-swiftsupport-folder-is-empty

I haven't found that option yet. I do have one called, "Always Embed Swift Standard Libraries" and that is already set to "NO"... Not sure if that's what is being referred, but atm don't have a way to fix this issue.

I also tried "export for App store", and used Application Loader to upload the file, same error.

Steps to Reproduce

Submit app to app store.

Flutter Doctor

[✓] Flutter (on Mac OS, channel master)
• Flutter at /Users/joel/dev_3rd/flutter
• Framework revision 198d293 (9 hours ago),
• Engine revision f306a6f
• Tools Dart version 1.22.0-dev.10.6

[✓] Android toolchain - develop for Android devices (Android SDK 25.0.0)
• Android SDK at /Users/joel/dev_3rd/android-sdk-macosx/
• Platform android-25, build-tools 25.0.0
• ANDROID_HOME = /Users/joel/dev_3rd/android-sdk-macosx/
• Java(TM) SE Runtime Environment (build 1.8.0_60-b27)

[✓] iOS toolchain - develop for iOS devices (Xcode 8.2.1)
• Xcode at /Applications/Xcode.app/Contents/Developer/
• Xcode 8.2.1, Build version 8C1002
• ios-deploy 1.9.0

[✓] IntelliJ IDEA Ultimate Edition (version 2016.3)
• Dart plugin version 163.7743.25
• Flutter plugin version 0.1.5

[✓] Connected devices

Activity

  1. abarth commented on Feb 11, 2017

    @abarth
    Contributor
  2. jtrunick commented on Feb 11, 2017

    @jtrunick
    Author

    I've also tried setting the "Always Embed Swift Standard Libraries" to NO - ${inherited} w/the same error

  3. jtrunick commented on Feb 14, 2017

    @jtrunick
    Author

    any ideas? anything I can try?

  4. cbracken commented on Feb 15, 2017

    @cbracken
    Member

    Question -- are you using any third-party libraries (e.g., via CocoaPods)?

  5. jtrunick commented on Feb 16, 2017

    @jtrunick
    Author

    I'm using the Superpowered library : http://superpowered.com/
    which has me including these libraries
    MediaPlayer.framework
    AVFoundation.framework

    I didn't seem to have to touch anything to get it to work past adding those... such as the arch list.

  6. eseidelGoogle commented on Feb 16, 2017

    @eseidelGoogle
    Contributor

    I believe @cbracken is on this?

  7. jtrunick commented on Feb 20, 2017

    @jtrunick
    Author

    I suppose my next try will be to force Swift to be included, but seems a shame, since afaict there's no Swift anywhere.

  8. cbracken commented on Mar 14, 2017

    @cbracken
    Member

    @jtrunick any luck on this?

  9. added
    waiting for responseThe Flutter team cannot make further progress on this issue until the original reporter responds
    on Mar 17, 2017
  10. 10 remaining items

  11. cbracken commented on Mar 23, 2017

    @cbracken
    Member

    I've landed a patch which eliminates the use of a raw dylib and builds a framework instead. See the steps in #8971 to migrate existing Xcode projects. Once those steps are done, you should be able to do the following steps to push a build to the App Store:

    1. On the command line, run flutter build ios --release.
    2. Close & re-open the Xcode project to pick up the mode change (Xcode 8.3 will eliminate the need to close & re-open when it's out).
    3. Select Runner > Generic iOS Device from the target menu in the toolbar.
    4. Ensure you've set an unused Build number in your project settings General tab.
    5. Select Archive from the Product menu.
    6. The Organizer window will open. Ensure the new build is selected and click the Validate... button. Ensure everything looks good.
    7. Click Upload to App Store.... You should receive an email back within 10-15 minutes with the status of the build.
  12. cbracken commented on Mar 23, 2017

    @cbracken
    Member

    Alright; confirmation from @vlidholt in the Gitter chat today that he was able to upload to the App Store. Marking as fixed.

    @jtrunick please re-open if you're still hitting this issue after a flutter update and following the steps above.

  13. jtrunick commented on Mar 24, 2017

    @jtrunick
    Author

    works!

  14. cbracken commented on Mar 24, 2017

    @cbracken
    Member

    Fantastic! Glad to hear it. Thanks for confirming!

  15. SumitDextrous commented on Jan 16, 2020

    @SumitDextrous

    hi,
    when i submit flutter app on app store, build upload successfully uploaded, but after that apple store given me issue.
    ITMS-90424: Invalid Swift Support - The SwiftSupport folder is empty. Rebuild your app using the current public (GM) version of Xcode and resubmit it.

  16. eseidelGoogle commented on Jan 16, 2020

    @eseidelGoogle
    Contributor

    @SumitDextrous this is a very old issue. I suspect the cause of this message could be different 3 years later.

    Would you be willing to file a new issue with more information (e.g. flutter doctor output)? We'd love to help. Thanks.

  17. SumitDextrous commented on Jan 23, 2020

    @SumitDextrous

    Screenshot 2020-01-22 at 3 42 22 PM

    ITMS-90424: Invalid Swift Support - The SwiftSupport folder is empty. Rebuild your app using the current public (GM) version of Xcode and resubmit it

  18. SumitDextrous commented on Jan 23, 2020

    @SumitDextrous

    same issue when submit flutter app on app store.
    what is the issue?
    Please let me know if any possibility.

  19. ir2pid commented on Apr 22, 2020

    @ir2pid

    same for us, any one found a solution?

  20. Marek00Malik commented on May 2, 2020

    @Marek00Malik

    Did anyone manage to fix this not by using the XCode Upload tool?
    I'm using code magic and would much appreciate using it in my CI instead of manually doing thing in XCode

  21. liudonghua123 commented on Jun 12, 2020

    @liudonghua123

    I have the same issue, when I build with fastlane and upload to testflight. I got the following errors in the email.

    I can confirm that I did not use these features.

    
    Dear Developer,
    
    We identified one or more issues with a recent delivery for your app, "colorful-classroom-app" 1.0.0 (1). Please correct the following issues, then upload again.
    
    ITMS-90426: Invalid Swift Support - The SwiftSupport folder is missing. Rebuild your app using the current public (GM) version of Xcode and resubmit it.
    
    ITMS-90683: Missing Purpose String in Info.plist - Your app's code references one or more APIs that access sensitive user data. The app's Info.plist file should contain a NSContactsUsageDescription key with a user-facing purpose string explaining clearly and completely why your app needs the data. Starting Spring 2019, all apps submitted to the App Store that access user data are required to include a purpose string. If you're using external libraries or SDKs, they may reference APIs that require a purpose string. While your app might not use these APIs, a purpose string is still required. You can contact the developer of the library or SDK and request they release a version of their code that doesn't contain the APIs. Learn more (https://developer.apple.com/documentation/uikit/core_app/protecting_the_user_s_privacy).
    
    ITMS-90683: Missing Purpose String in Info.plist - Your app's code references one or more APIs that access sensitive user data. The app's Info.plist file should contain a NSCalendarsUsageDescription key with a user-facing purpose string explaining clearly and completely why your app needs the data. Starting Spring 2019, all apps submitted to the App Store that access user data are required to include a purpose string. If you're using external libraries or SDKs, they may reference APIs that require a purpose string. While your app might not use these APIs, a purpose string is still required. You can contact the developer of the library or SDK and request they release a version of their code that doesn't contain the APIs. Learn more (https://developer.apple.com/documentation/uikit/core_app/protecting_the_user_s_privacy).
    
    ITMS-90683: Missing Purpose String in Info.plist - Your app's code references one or more APIs that access sensitive user data. The app's Info.plist file should contain a NSAppleMusicUsageDescription key with a user-facing purpose string explaining clearly and completely why your app needs the data. Starting Spring 2019, all apps submitted to the App Store that access user data are required to include a purpose string. If you're using external libraries or SDKs, they may reference APIs that require a purpose string. While your app might not use these APIs, a purpose string is still required. You can contact the developer of the library or SDK and request they release a version of their code that doesn't contain the APIs. Learn more (https://developer.apple.com/documentation/uikit/core_app/protecting_the_user_s_privacy).
    
    ITMS-90683: Missing Purpose String in Info.plist - Your app's code references one or more APIs that access sensitive user data. The app's Info.plist file should contain a NSMotionUsageDescription key with a user-facing purpose string explaining clearly and completely why your app needs the data. Starting Spring 2019, all apps submitted to the App Store that access user data are required to include a purpose string. If you're using external libraries or SDKs, they may reference APIs that require a purpose string. While your app might not use these APIs, a purpose string is still required. You can contact the developer of the library or SDK and request they release a version of their code that doesn't contain the APIs. Learn more (https://developer.apple.com/documentation/uikit/core_app/protecting_the_user_s_privacy).
    
    ITMS-90683: Missing Purpose String in Info.plist - Your app's code references one or more APIs that access sensitive user data. The app's Info.plist file should contain a NSSpeechRecognitionUsageDescription key with a user-facing purpose string explaining clearly and completely why your app needs the data. Starting Spring 2019, all apps submitted to the App Store that access user data are required to include a purpose string. If you're using external libraries or SDKs, they may reference APIs that require a purpose string. While your app might not use these APIs, a purpose string is still required. You can contact the developer of the library or SDK and request they release a version of their code that doesn't contain the APIs. Learn more (https://developer.apple.com/documentation/uikit/core_app/protecting_the_user_s_privacy).
    
    Though you are not required to fix the following issues, we wanted to make you aware of them:
    
    ITMS-90078: Missing Push Notification Entitlement - Your app appears to register with the Apple Push Notification service, but the app signature's entitlements do not include the 'aps-environment' entitlement. If your app uses the Apple Push Notification service, make sure your App ID is enabled for Push Notification in the Provisioning Portal, and resubmit after signing your app with a Distribution provisioning profile that includes the 'aps-environment' entitlement. Xcode does not automatically copy the aps-environment entitlement from provisioning profiles at build time. This behavior is intentional. To use this entitlement, either enable Push Notifications in the project editor's Capabilities pane, or manually add the entitlement to your entitlements file. For more information, see https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/HandlingRemoteNotifications.html#//apple_ref/doc/uid/TP40008194-CH6-SW1.
    
    ITMS-90191: Missing beta entitlement - Your app does not include the beta-reports-active entitlement. If you intend to distribute this build via TestFlight for beta testing, please re-build this app with an App Store Distribution provisioning profile. Do not use ad-hoc profiles.
    
    ITMS-90683: Missing Purpose String in Info.plist - Your app's code references one or more APIs that access sensitive user data. The app's Info.plist file should contain a NSLocationAlwaysUsageDescription key with a user-facing purpose string explaining clearly and completely why your app needs the data. Starting Spring 2019, all apps submitted to the App Store that access user data are required to include a purpose string. If you're using external libraries or SDKs, they may reference APIs that require a purpose string. While your app might not use these APIs, a purpose string is still required. You can contact the developer of the library or SDK and request they release a version of their code that doesn't contain the APIs. Learn more (https://developer.apple.com/documentation/uikit/core_app/protecting_the_user_s_privacy).
    
    ITMS-90683: Missing Purpose String in Info.plist - Your app's code references one or more APIs that access sensitive user data. The app's Info.plist file should contain a NSLocationWhenInUseUsageDescription key with a user-facing purpose string explaining clearly and completely why your app needs the data. Starting Spring 2019, all apps submitted to the App Store that access user data are required to include a purpose string. If you're using external libraries or SDKs, they may reference APIs that require a purpose string. While your app might not use these APIs, a purpose string is still required. You can contact the developer of the library or SDK and request they release a version of their code that doesn't contain the APIs. Learn more (https://developer.apple.com/documentation/uikit/core_app/protecting_the_user_s_privacy).
    
    Best regards,
    
    The App Store Team
    
    
  22. tekumai commented on May 31, 2021

    @tekumai

    EDIT: found the cause. I was trying to upload the iOS build to the TestFlight using AdHoc distribution profile. But for TestFlight AppStore distribution profile should be used instead.


    I have the same issue with two different applications on two different dev machines. I'm using fastlane tools (pilot action) to upload the build to the TestFlight.

    ITMS-90426: Invalid Swift Support - The SwiftSupport folder is missing. Rebuild your app using the current public (GM) version of Xcode and resubmit it.
    
    [✓] Flutter (Channel stable, 2.2.0, on macOS 11.3 20E232 darwin-x64, locale en-GB)
        • Flutter version 2.2.0 at /Users/kzapylaiev/Library/flutter
        • Framework revision b22742018b (2 weeks ago), 2021-05-14 19:12:57 -0700
        • Engine revision a9d88a4d18
        • Dart version 2.13.0
    
    [✓] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
        • Android SDK at /Users/kzapylaiev/Library/Android/sdk
        • Platform android-30, build-tools 30.0.2
        • ANDROID_HOME = /Users/kzapylaiev/Library/Android/sdk
        • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
        • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)
        • All Android licenses accepted.
    
    [✓] Xcode - develop for iOS and macOS
        • Xcode at /Applications/Xcode.app/Contents/Developer
        • Xcode 12.4, Build version 12D4e
        • CocoaPods version 1.10.1
    
    [✓] Chrome - develop for the web
        • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
    
    [✓] Android Studio (version 4.2)
        • Android Studio at /Applications/Android Studio.app/Contents
        • Flutter plugin can be installed from:
          🔨 https://plugins.jetbrains.com/plugin/9212-flutter
        • Dart plugin can be installed from:
          🔨 https://plugins.jetbrains.com/plugin/6351-dart
        • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)
    
    [✓] IntelliJ IDEA Community Edition (version 2020.2.1)
        • IntelliJ at /Applications/IntelliJ IDEA CE.app
        • Flutter plugin can be installed from:
          🔨 https://plugins.jetbrains.com/plugin/9212-flutter
        • Dart plugin can be installed from:
          🔨 https://plugins.jetbrains.com/plugin/6351-dart
    
    [✓] VS Code (version 1.56.2)
        • VS Code at /Applications/Visual Studio Code.app/Contents
        • Flutter extension version 3.22.0
    
    [✓] Connected device (1 available)
        • Chrome (web) • chrome • web-javascript • Google Chrome 90.0.4430.212
    
    • No issues found!
    
  23. github-actions commented on Aug 1, 2021

    @github-actions

    This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of flutter doctor -v and a minimal reproduction of the issue.

  24. locked as resolved and limited conversation to collaborators on Aug 1, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

platform-iosiOS applications specifically

Type

No type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions