title: ITMS-90432: "Invalid Swift Support" doesn't have the correct file type for this location
body: <p>I have been having a hard time publishing my app on the AppStore. Im using the Application Loader and i keep getting the following error.</p>
  
  <blockquote>
    <p>ERROR ITMS-90432: "Invalid Swift Support. The file HelloWorld.app/Frameworks/Fabric.framework doesn’t have the correct file type for this location. Ensure you’re using the correct file, rebuild your app using the current public (GM) version of Xcode, and resubmit it."</p>
  </blockquote>
  
  <p>Now the <em>ipa</em> is being packaged manually from the app created from XCode (thats generated using CMake)
  This is the structure of the ipa</p>
  
  <pre><code>HelloWorld/Payload/HelloWorld.app/
  ├── AppIcon29x29@2x.png
  ├── AppIcon29x29@2x~ipad.png
  ├── AppIcon29x29~ipad.png
  ├── AppIcon40x40@2x.png
  ├── AppIcon40x40@2x~ipad.png
  ├── AppIcon40x40~ipad.png
  ├── AppIcon60x60@2x.png
  ├── AppIcon76x76@2x~ipad.png
  ├── AppIcon76x76~ipad.png
  ├── Frameworks
  │   └── Fabric.framework
  ├── HelloWorld
  ├── Info.plist
  ├── LaunchImage-700-568h@2x.png
  ├── LaunchImage-700-Landscape@2x~ipad.png
  ├── LaunchImage-700-Landscape~ipad.png
  ├── LaunchImage-700-Portrait@2x~ipad.png
  ├── LaunchImage-700-Portrait~ipad.png
  ├── PkgInfo
  ├── Settings.bundle
  │   ├── Root.plist
  │   └── en.lproj
  │       └── Root.strings
  ├── _CodeSignature
  │   └── CodeResources
  ├── assets
  │   ├── drawable
  │   │   └── default
  │   │       └── logo.png
  │   ├── layout
  │   │   └── default
  │   │       ├── HelloWorld_MainComp.layout
  │   │       └── HelloWorld_MainComp.timeline
  │   └── text
  └── embedded.mobileprovision
  </code></pre>
  
  <p>I have even tried working with different frameworks (Facebook iOS SDK) getting the same result.
  I have tried adding a <em>Symbols</em> and <em>SwiftSupport</em> (while also copying the frameworks from the Framework directory in the app bundle) folder at the root of the <em>ipa</em> including the Payload directory like so.</p>
  
  <pre><code>├── Payload
  │   └── HelloWorld.app
  │       ├── ...
  │       └── Frameworks
  │           └── Fabric.framework
  ├── SwiftSupport
  │   └── Fabric.framework
  └── Symbols
  </code></pre>
  
  <p>Before the application bundle is built (app not ipa) i remove the uneeded architectures from the framework (i386, x86_64) using Apple's <em>lipo</em> tool and sign the framework using my distribution certificate.
  Also to note, the framework i am using (Fabric) does not contain Swift support as seen by Apple's <em>otool</em> (no <em>libswift</em>.dylib* in otool output)</p>
  
  <pre><code>otool -L Fabric.framework
  Archive : Fabric.framework (architecture armv7)
  Fabric.framework(FABApplication.o) (architecture armv7):
  Fabric.framework(FABSettingsOnboardingManager.o) (architecture armv7):
  Fabric.framework(FABByteUtility.o) (architecture armv7):
  Fabric.framework(FABUUID.o) (architecture armv7):
  Fabric.framework(FABIcon.o) (architecture armv7):
  Fabric.framework(Fabric.o) (architecture armv7):
  Fabric.framework(FABNetworkOperation.o) (architecture armv7):
  Fabric.framework(FABHost.o) (architecture armv7):
  Fabric.framework(FABURLBuilder.o) (architecture armv7):
  Fabric.framework(FABCertificatePinner.o) (architecture armv7):
  Fabric.framework(FABAppIconUtility.o) (architecture armv7):
  Fabric.framework(FABMultipartMimeStreamEncoder.o) (architecture armv7):
  Fabric.framework(FABSettings.o) (architecture armv7):
  Fabric.framework(FABApplicationIdentiferModel.o) (architecture armv7):
  Fabric.framework(FABDownloadAndSaveSettingsOperation.o) (architecture armv7):
  Fabric.framework(FABCerts.o) (architecture armv7):
  Fabric.framework(FABNetworkResponseHandler.o) (architecture armv7):
  Fabric.framework(FABOnboardingOperation.o) (architecture armv7):
  Fabric.framework(FABNetworkClient.o) (architecture armv7):
  Fabric.framework(FABConstants.o) (architecture armv7):
  Fabric.framework(CLSdSYM.o) (architecture armv7):
  Fabric.framework(CLSCodeMapping.o) (architecture armv7):
  Fabric.framework(CLSMachOBinary.o) (architecture armv7):
  Fabric.framework(CLSMachOSlice.o) (architecture armv7):
  Fabric.framework(CLSMachO.o) (architecture armv7):
  Fabric.framework(CLSURLSessionDownloadTask.o) (architecture armv7):
  Fabric.framework(CLSURLSessionTask.o) (architecture armv7):
  Fabric.framework(CLSURLSessionDataTask.o) (architecture armv7):
  Fabric.framework(CLSURLSession.o) (architecture armv7):
  Fabric.framework(CLSURLSessionConfiguration.o) (architecture armv7):
  Fabric.framework(CLSURLSessionUploadTask.o) (architecture armv7):
  Fabric.framework(CLSUserDefaults.o) (architecture armv7):
  Fabric.framework(FABAsyncOperation.o) (architecture armv7):
  Fabric.framework(FABCompoundOperation.o) (architecture armv7):
  Archive : Fabric.framework (architecture armv7s)
  Fabric.framework(FABApplication.o) (architecture armv7s):
  Fabric.framework(FABSettingsOnboardingManager.o) (architecture armv7s):
  Fabric.framework(FABByteUtility.o) (architecture armv7s):
  Fabric.framework(FABUUID.o) (architecture armv7s):
  Fabric.framework(FABIcon.o) (architecture armv7s):
  Fabric.framework(Fabric.o) (architecture armv7s):
  Fabric.framework(FABNetworkOperation.o) (architecture armv7s):
  Fabric.framework(FABHost.o) (architecture armv7s):
  Fabric.framework(FABURLBuilder.o) (architecture armv7s):
  Fabric.framework(FABCertificatePinner.o) (architecture armv7s):
  Fabric.framework(FABAppIconUtility.o) (architecture armv7s):
  Fabric.framework(FABMultipartMimeStreamEncoder.o) (architecture armv7s):
  Fabric.framework(FABSettings.o) (architecture armv7s):
  Fabric.framework(FABApplicationIdentiferModel.o) (architecture armv7s):
  Fabric.framework(FABDownloadAndSaveSettingsOperation.o) (architecture armv7s):
  Fabric.framework(FABCerts.o) (architecture armv7s):
  Fabric.framework(FABNetworkResponseHandler.o) (architecture armv7s):
  Fabric.framework(FABOnboardingOperation.o) (architecture armv7s):
  Fabric.framework(FABNetworkClient.o) (architecture armv7s):
  Fabric.framework(FABConstants.o) (architecture armv7s):
  Fabric.framework(CLSdSYM.o) (architecture armv7s):
  Fabric.framework(CLSCodeMapping.o) (architecture armv7s):
  Fabric.framework(CLSMachOBinary.o) (architecture armv7s):
  Fabric.framework(CLSMachOSlice.o) (architecture armv7s):
  Fabric.framework(CLSMachO.o) (architecture armv7s):
  Fabric.framework(CLSURLSessionDownloadTask.o) (architecture armv7s):
  Fabric.framework(CLSURLSessionTask.o) (architecture armv7s):
  Fabric.framework(CLSURLSessionDataTask.o) (architecture armv7s):
  Fabric.framework(CLSURLSession.o) (architecture armv7s):
  Fabric.framework(CLSURLSessionConfiguration.o) (architecture armv7s):
  Fabric.framework(CLSURLSessionUploadTask.o) (architecture armv7s):
  Fabric.framework(CLSUserDefaults.o) (architecture armv7s):
  Fabric.framework(FABAsyncOperation.o) (architecture armv7s):
  Fabric.framework(FABCompoundOperation.o) (architecture armv7s):
  Archive : Fabric.framework (architecture arm64)
  Fabric.framework(FABApplication.o) (architecture arm64):
  Fabric.framework(FABSettingsOnboardingManager.o) (architecture arm64):
  Fabric.framework(FABByteUtility.o) (architecture arm64):
  Fabric.framework(FABUUID.o) (architecture arm64):
  Fabric.framework(FABIcon.o) (architecture arm64):
  Fabric.framework(Fabric.o) (architecture arm64):
  Fabric.framework(FABNetworkOperation.o) (architecture arm64):
  Fabric.framework(FABHost.o) (architecture arm64):
  Fabric.framework(FABURLBuilder.o) (architecture arm64):
  Fabric.framework(FABCertificatePinner.o) (architecture arm64):
  Fabric.framework(FABAppIconUtility.o) (architecture arm64):
  Fabric.framework(FABMultipartMimeStreamEncoder.o) (architecture arm64):
  Fabric.framework(FABSettings.o) (architecture arm64):
  Fabric.framework(FABApplicationIdentiferModel.o) (architecture arm64):
  Fabric.framework(FABDownloadAndSaveSettingsOperation.o) (architecture arm64):
  Fabric.framework(FABCerts.o) (architecture arm64):
  Fabric.framework(FABNetworkResponseHandler.o) (architecture arm64):
  Fabric.framework(FABOnboardingOperation.o) (architecture arm64):
  Fabric.framework(FABNetworkClient.o) (architecture arm64):
  Fabric.framework(FABConstants.o) (architecture arm64):
  Fabric.framework(CLSdSYM.o) (architecture arm64):
  Fabric.framework(CLSCodeMapping.o) (architecture arm64):
  Fabric.framework(CLSMachOBinary.o) (architecture arm64):
  Fabric.framework(CLSMachOSlice.o) (architecture arm64):
  Fabric.framework(CLSMachO.o) (architecture arm64):
  Fabric.framework(CLSURLSessionDownloadTask.o) (architecture arm64):
  Fabric.framework(CLSURLSessionTask.o) (architecture arm64):
  Fabric.framework(CLSURLSessionDataTask.o) (architecture arm64):
  Fabric.framework(CLSURLSession.o) (architecture arm64):
  Fabric.framework(CLSURLSessionConfiguration.o) (architecture arm64):
  Fabric.framework(CLSURLSessionUploadTask.o) (architecture arm64):
  Fabric.framework(CLSUserDefaults.o) (architecture arm64):
  Fabric.framework(FABAsyncOperation.o) (architecture arm64):
  Fabric.framework(FABCompoundOperation.o) (architecture arm64):
  </code></pre>
  
  <p>Anyone have any ideas for solving this issue?</p>