Invalid Bundle. The bundle at '.app' does

2020-07-20 03:44发布

问题:

I am trying to validate/submit my app, and it gives me this error. I tried all the possible suggestions mentioned in the previous replies to this question, neither of them worked.

I removed CFBundleKey, also changed CFBundlePackageType key's value from APPL to BNDL in the info.plist.

I have also attached screenshot for the same.

please provide a solution to this, Thanks a ton in advance as I am badly stuck.

my app's bundle identifier is having a numeric value can it cause the issue??

回答1:

The connection to the info.plist file might be causing the issue. Try changing the bundle id from target and check if it reflects in the plist file and vice-versa. If this doesn't reflects copy your plist file at some other location, remove it from the app and drag and drop again, it will help. This solved my issue, hope it helps.

Thanks for the efforts.



回答2:

if you will get this error then check your info.plist file,

<key>CFBundleExecutable</key>
    <string>${EXECUTABLE_NAME}</string>

and add this key.



回答3:

You should enter general to find Embedded Binaries,and delete your frameworks.



回答4:

For future people coming from Google:

I recently had this problem (with a third party static library + bundle distributed to us) and tried everything I could and finally caved and was able to get through to Apple developer support. Turns out the creator of the bundle had put the Info.plist in the wrong place. Quoting the extremely knowledgeable and helpful person at Apple:

The Info.plist needs to be at the root of the bundle, and not in the Resources folder. Since no Info.plist was found at the expected location to describe expectations of what the bundle is, it proceeded to look for executable code, as the iOS supported bundle types APPL, FMWK, and XPC are all expected to have a bundle executable.

and

Moving the Info.plist file into the proper location is your short term workaround, but you should also look at eliminating the bundle entirely for the long term. If you open the new project window in Xcode, you’ll see that a template for providing a general purpose bundle is only available in the macOS section, but not on iOS. Xcode never had a general purpose bundle starting point for iOS, so most developers have hand crafted bundles that approximate the expected structure for iOS out of the macOS base, but don’t fully meet the expectations of the entire system, leading to a variety of unexpected issues, such as this one. If your bundle content is related to a framework, you can directly embed that content in the framework bundle, and if it’s for the app, you can deploy the content directly into the main .app bundle.

and

Bundles don’t exist on iOS, specifically in the BNDL sense. They are a macOS concept that is intended to contain loadable code for plug-ins, which doesn’t exist on iOS, and that part is documented at the following location: https://developer.apple.com/library/archive/documentation/CoreFoundation/Conceptual/CFBundles/BundleTypes/BundleTypes.html#//apple_ref/doc/uid/10000123i-CH101-SW30

Using a BNDL as a container for resources without loadable code on iOS is a convention that evolved in the developer community. The way they are used on iOS, as seen by the several bundles in your app, is effectively as a folder with a fancy file name for organizational reasons. Using a folder without the .bundle file extension would serve the same organizational purpose, while also avoiding getting caught up in the validation process trying to determine if what it discovered was an application, framework, or app extension bundle.

So in conclusion: avoid using bundles in iOS. You risk eventually tripping up Apple's at times opaque validation process for little perceptible gain.



标签: ios xcode xcode7