AnthonyMDev
AnthonyMDev

Reputation: 1506

Application with private framework "could not inspect application package" in Xcode 6. Missing framework info.plist

My application built and ran just fine in Xcode 5. I upgraded to Xcode 6 yesterday and now the application builds, but will not run on my device or in simulator.

I'm getting the error "could not inspect application package" when trying to run.

I checked my device logs (XCode > Windows > Devices) and after trying to run the application, I get the following error in my log:

Sep 23 10:32:46 XXXXXX's-iPhone streaming_zip_conduit[5476] : __dispatch_source_read_socket_block_invoke:203: Failed to install application at file:///var/mobile/Media/PublicStaging/ActivateMachines.app/ : Error Domain=LaunchServicesError Code=0 "The operation couldn’t be completed. (LaunchServicesError error 0.)" UserInfo=0x1355075a0 {Error=PackageInspectionFailed, ErrorDescription=Failed to load Info.plist from bundle at path /private/var/mobile/Library/Caches/com.apple.mobile.installd.staging/temp.5lz5TS/extracted/ActivateMachines.app/Frameworks/GeLoSDK.framework}

I've checked that the GeLoSDK.framework does have a Resources/Info.plist file.

I'm using this framework: https://github.com/GeLoInc/GeLoSDK-iOS

It should be linked properly, as it was working on Xcode 5.

Did something change in Xcode 6 that I'm not aware of? Thanks for any help.

Upvotes: 5

Views: 7375

Answers (4)

Chris Livdahl
Chris Livdahl

Reputation: 4740

I had this problem with the GoogleInteractiveMediaAds.framework:

com.apple.CoreSimulator.CoreSimulatorService[522]: Error Domain=LaunchServicesError Code=0 "(null)" UserInfo={Error=PackageInspectionFailed, ErrorDescription=Failed to load Info.plist from bundle at path /Users/XXX/Library/Developer/CoreSimulator/Devices/B5E6B8A7-017D-4FC2-9C22-0698DFD0AC13/data/Library/Caches/com.apple.mobile.installd.staging/temp.Ha6x7D/extracted/XXX-ios.app/Frameworks/GoogleInteractiveMediaAds.framework} configd[54]: inet_set_autoaddr(en0, 1) failed, Resource busy (16)

What worked for me was removing GoogleInteractiveMediaAds.framework from the Embed Frameworks in Build Phases for my app target.

Upvotes: 6

Bunny Lin
Bunny Lin

Reputation: 113

if you keep having problem in running app with custom framework and the log from simulator are as following:

Oct 21 16:27:54 bunnydembp com.apple.CoreSimulator.CoreSimulatorService[1936]: Error Domain=LaunchServicesError Code=0 "The operation couldn’t be completed. (LaunchServicesError error 0.)" UserInfo=0x7fb7954c16c0 {Error=PackageInspectionFailed, ErrorDescription=Failed to load Info.plist from bundle at path /Users/bunny/Library/Developer/CoreSimulator/Devices/10D9FDBC-13B5-420B-9B9E-365E05551830/data/Library/Caches/com.apple.mobile.installd.staging/temp.4mi9Mn/extracted/radio365.app/Frameworks/SOME.framework}

you need to add/alias info.plist in framework sub path like this: https://i.sstatic.net/e8Dz2.png

if you use the build script from http://blog.db-in.com/universal-framework-for-ios/ you can just add following in line 44

#ios8 bug in xcode 6.0.1 and 6.1
ln -s "${INSTALL_DIR}/Versions/${FMK_VERSION}/Resources/Info.plist" "${INSTALL_DIR}/Info.plist"

Upvotes: 3

AnthonyMDev
AnthonyMDev

Reputation: 1506

I was able to get the application to build by moving the framework into "/Library/Frameworks" and adding it to the project from there.

Previously, I had been using the framework by bundling it in with the application directly and linking the binary manually. This worked fine in Xcode 5, but not in Xcode 6.

I'm not sure if this is a new bug in Xcode 6, or what changed, but using "/Library/Frameworks" solved the problem.

Upvotes: 3

Jeremy Huddleston Sequoia
Jeremy Huddleston Sequoia

Reputation: 23623

I suspect that you really don't have an Info.plist in that bundle but that the error was being ignored and not reported in previous versions. Make sure you are really installing your Info.plist for GeLoSDK.framework.

Upvotes: 1

Related Questions