Can anyone explain how do those unsigned files(non-highlighted ones on picture below) get into framework(Cocoa Touch Framework)package and how to keep these files away from there?
Also, is it safe to remove them manually from there?
To get and see those files I do as follows:
- Build app
- Find and unzip it's *.ipa file
- Then Payload -> App -> "Show Package Contents" -> Frameworks
Note! For every *.swift file in framework project it creates the set of these files in there:
Here's how I get to the problem.
- Create base project in Objectvie-C or take any old maintained Objective-C project
- Create and implement a framework (Cocoa Touch Framework) project in Swift
- Create podspec for that framework and upload it to repository
- Include that framework into base project using CocoaPods
- Build and run app on simulator and on wired device is OK (everything works as expected)
- Build and/or Upload to iTunesConnect is NOT OK, it FAILS!
Here's the more detailed discussion on that case Signing errors with use_frameworks! and unique provisioning profiles
And I suspect that all those non-highlighted files inside XFeature.framework do not belong in there. Why?
Because when I upload ipa package to iTunesConnect with those files included It throws this error (For each non-highlighted file):
ERROR ITMS-90171 Invalid Bundle Structure - The binary file 'XApp.app/Frameworks/XFeature.framework/XView.o' is not permitted. Your app can’t contain standalone executables or libraries, other than the CFBundleExecutable of supported bundles. Refer to the Bundle Programming Guide at https-:-//developer.apple.com/go/?id=bundle-structure for information on the iOS app bundle structure.
And on the other hand, when I remove them (manually simply delete), then error disappears and upload succeeds.
So I guess these files are either not required in there or they are simply not correctly signed.
Which way to go from here?
- Find a way how to keep those files away from framework contents
- or find a way how to sign those files
Any help is welcome!