How to skip or sign unsigned files inside a * .framework package

Can someone explain how these unsigned files (not selected in the image below) get into the framework (Cocoa Touch Framework) and how to save these files from there?

Also, is it possible to manually delete them?

This is the Frameworks in result app folder

To get and see these files, I do the following:

  • Create application
  • Find and unzip the * .ipa file
  • Then Payload -> App -> "Show Package Contents" -> Frames

Attention! For each * .swift file in the framework project, it creates a set of these files:

A set of files for each fast file


This is how I get to the problem.

  • Create a basic project in Objectvie-C or take any old Objective-C project
  • Build and implement a framework project (Cocoa Touch Framework) in Swift
  • Create podspec for this structure and upload it to the repository
  • Include this structure in a base project using CocoaPods
  • Creating and running the application on the simulator and on the wired device is fine (everything works as expected)
  • Build and / or upload to iTunesConnect NOT APPROVED, DO NOT!

Here's a more detailed discussion of this case. Signing bugs with use_frameworks! and unique training profiles .

And I suspect that all these unlit files inside XFeature.framework do not belong. Why?

Because when I download the ipa package to iTunesConnect with these files, It throws this error (for every non-selected file):

ERROR ITMS-90171 Invalid Bundle Structure - The binary "XApp.app/Frameworks/XFeature.framework/XView.o" is not allowed. The can not application contains standalone executables or libraries other than the CFBundleExecutable supported packages. See the Bundle programming guide at https -: - // developer.apple.com/go/?id=bundle-structure for information on the structure of the iOS application package.

And on the other hand, when I delete them (just delete them manually), then the error disappears and the download completes successfully.

So, I think that these files are either not needed there, or simply incorrectly signed.

Which way out of here?

  • Find a way to save these files outside the contents of the structure.
  • or find a way to sign these files

Any help is appreciated!

0
ios objective-c cocoa-touch swift
source share
1 answer

Ok, so this time I solved this problem in my own way. As usual, the solution is simpler than ever thought.

The cause of the bugger ERROR ITMS-90171 error this time was the directive in the cocoa pod * .podspec file.

This: s.resource = 'MyPod/*'

I don’t know how I skipped this, but β€œMyPod / *” literally says, include everything in the MyPod directory, which in addition to graphic resources also contains * .swift files.

Since I need only graphic excitement that needs to be included as a resource, then fix it a bit by changing this line to: s.resource = 'MyPod/Graphics.xcassets' fixed problem. No ERROR ITMS-90171.


The Cocoapods team also created an improvement issue to avoid similar situations in the future. Add linter to the files found inside spec.resources # 5794

0
source share

All Articles