user2014474
user2014474

Reputation: 1117

“could not inspect application package” Xcode

For some reason I imported some files in xcode (a third party SDK), and even if the app builds successfully I receive this error: Xcode Error Message: “could not inspect application package”. What does it mean? the app doesn't run on a real device but works on a simulator IOS...

Upvotes: 11

Views: 15954

Answers (11)

ImShrey
ImShrey

Reputation: 418

In case someone here is consuming bazel based xcframework in your xcode project, this might solve your issue: https://stackoverflow.com/a/74027282/6709940

Upvotes: 0

Fonix
Fonix

Reputation: 11597

For me, I had specified my resources incorrectly in my podspec file. In the bundle it was including both the .storyboard and .storyboardc files along with the .xib and .nibs files etc, I changed my resources only to include the specific file extension types as apposed to a generic /**/*

s.resource_bundles = {
  s.name => [s.name + '/Assets/**/*.{xib,storyboard,strings,json,otf}']
}
s.resources = [s.name + '/Assets/*.{xcassets}']

This seemed to fix the error for me

Upvotes: 0

UdayM
UdayM

Reputation: 1783

I faced this issue with Google Sign-in SDK. below is the fix.

  1. BuildPhases -> Embedded Frameworks ->Enable "Copy only when installing"

enter image description here I am just posting this as this may help someone.

Upvotes: 14

huggie
huggie

Reputation: 18237

In my case I was working with Cordova and Firebase. Remove all Google frameworks from Embed frameworks (but leave them under Linked Binary With Libraries) solve the problem.

Upvotes: 2

eonil
eonil

Reputation: 85975

Check whether you are embedding a static library into app package. Some third party packages their static library SDK like a dynamic framework. Which is unsupported by Xcode (yet?). In that case you can be fooled and put them in "Embedded Binaries" list. Static libraries SHOULD NOT be in the list.

To check whether it is a static library, use file utility.

file /path/to/binary/in/Example1.framework/Example1

If it says something like ar archive it's a static library, and dynamically linked shared library for dynamic library.

Upvotes: 0

KMC
KMC

Reputation: 1742

I was getting the same error. I resolve it by removing third party library from "embbedded binaries" list and added into the "linked frameworks and libraries".

Upvotes: 2

Whitney Foster
Whitney Foster

Reputation: 721

I was importing a framework in my bridging header that I previously removed and Xcode gave me no error I guess because I didn't call the framework anymore?

Steps:

  • remove the unused/nonexistent framework for bridging header
  • cmd+shift+k
  • quit Xcode
  • find your project's build folder and trash the contents of the Intermediates and Products folders
  • open your project and run

This may be overkill but it works now. I hope this helps.

Upvotes: 1

ArunJTS
ArunJTS

Reputation: 264

When I replaced the 'Resources' folder on the xcode, by mistake the below option was selected.

Create folder references for any added folders

But the correct option should be,

Create groups for any added folders

Taking care of the above option is important point in saving time ad fixing the above issue. (It is one of the possibilities for getting this error).

Upvotes: 7

Jack Bellis
Jack Bellis

Reputation: 1177

I got the same error. It was after I added a new, empty text file to my project (to keep some notes in) and named it Resources. Renaming it to Resourcesx fixed the problem but not until doing a Clean. I proved repeatedly that the filename "Resources" is a sufficient condition to cause the error.

This is the same experience of someone in Xcode Error Message: "could not inspect application package"

Upvotes: 0

matiasjaure
matiasjaure

Reputation: 112

I solved this just doing a Product->Clean after doing a lot of stupid stuff

Upvotes: 2

Aaron Brager
Aaron Brager

Reputation: 66242

It sounds like the third party files might include compiled code which is not signed by you. If so, you can use iReSign to resign them using your own certificate. You can also use the command line:

codesign -f -s "iPhone Developer: Aaron Brager (XXXXXXXXXX)" nameOfAppToSign.app

Replace the example identity with your own (you can man codesign to read more about this command).

You can circumvent this by not including the compiled code. It may not be necessary - are you including an example app which isn't necessary for the framework to function?

If this answer doesn't help, providing the name of the framework and showing which files you included would be helpful.

Upvotes: 1

Related Questions