Invalid bundle structure - The app may contain only one executable file.

荒凉一梦 提交于 2020-01-21 10:38:02

问题


This question is similar if not identical but there is no solution. I've looked inside the archive and there's only one executable, so I am at a loss as to how to proceed. Any ideas greatly appreciates.


回答1:


Invalid Build Structure

The binary file 'YourApp.app/libYourLibrary.a' is not permitted.

Your app may contain only one executable file.

This error occurs when a static library file is mistakenly copied into the app bundle.

You should link the libYourLibrary.a static library via a Link Binary with Libraries build phase.

It should NOT be added to the target's Copy Bundle Resources build phase.




回答2:


My app was rejected with the same error message. It turned out that I was copying a third party framework (Fiksu) in the 'Copy Bundle Resources' build phase. The framework contained an executable and was already linked to in the 'Link Binary With Libraries' build phase. I deleted the framework from the 'Copy Bundle Resources' build phase. The framework continued to work normally in a release build. I resubmitted the app and it passed validation. Similar solution was posted here:

https://devforums.apple.com/message/1020254#1020254




回答3:


In hindsight the error is straightforward. An executable file was accidentally added to the project. In my case "Develop!.app/Xcode" meant that Xcode was the executable. Checking the list of files in the project I found a symlink to Xcode. (Maybe I dragged it from the dock somehow and dropped it into the project).

If you are getting this error look at the files in your project -- there is an executable there somewhere.




回答4:


I had this issue for the first time on an app I'd submitted over several versions with no issues.

I found that somehow that although I'd linked to one of my own libraries, one of the source files from that same library appeared in the list of files in the "Copy Bundle Resources" list. I have no idea how it got there but removing it meant that my app build, archived and was submitted successfully. :-)




回答5:


If you are getting error in following format: "Invalid Bundle Structure - The binary file 'Abc.app/AnyFileName.o' is not permitted.

Build Phases > Copy Bundle Resources > check your file AnyFileName.swift will be added too here. (Remove it)

validate it with XCode. Error gone !!




回答6:


In my case I tried to remove references but nothing worked for me. Then I uninstall particular pod, remove references as mentioned here and then install that particular pod again. It worked for me.

For those who required elaboration check below:

1) In Podfile comment the particular pod by adding # in the beginning and save it:

On command line run: pod install // It will uninstall that framework

2) Removed references of that framework from:

  • Link Binary with Libraries // In Build Phase
  • Copy Bundle Resources // In Build Phase
  • Embed Frameworks

3) Now install Pod again, Remove # which you added before and save it.

On command line run: pod install // It will install that framework again



来源:https://stackoverflow.com/questions/20251252/invalid-bundle-structure-the-app-may-contain-only-one-executable-file

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!