这两天在更新一个iOS项目,因为更新XCode 8,遇到了Debug模式下能跑,但是无法打包的问题。

错误症状

具体错误提示是:

点击Archive后,上传后出现错误提示1

Invalid Bundle. The bundle at ‘XXXX’ contains disallowed nested bundles.

Invalid Bundle, The bundle contains disallowed nested bundles, contains disallowed file ‘Frameworks’

或者iTC成功了,但是收到邮件,得到错误提示2

We have discovered one or more issues with your recent delivery for “江雪”. >To process your delivery, the following issues must be corrected:

Invalid Bundle - One or more dynamic libraries that are referenced by your >app are not present in the dylib search path.

参考了多个已有的讨论(见Refer), 最终解决办法如下:

背景

Host APP + Today Extension + 多个Framework用来共享代码,Swift(主要) + OC

解决方式

  1. 对于Framework,尝试将

Embedded Content Contains Swift Code: YES

调成

Embedded Content Contains Swift Code: NO

Refer

  1. https://medium.com/@stefanvdoord/using-system-headers-in-swift-8731e972adfe#.ia0bv8j5s

  2. http://stackoverflow.com/questions/24875745/xcode-6-beta-4-using-bridging-headers-with-framework-targets-is-unsupported

  3. http://stackoverflow.com/questions/25808055/ifaddrs-in-swift-framework