You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

iOS动态框架嵌入第三方静态框架遭App Store审核报错求助

解决App Store审核bundle结构错误的替代方案
  • 合并静态库到动态Framework可执行文件
    静态库.a不应出现在动态Framework的嵌套Frameworks目录中。构建Framework A时,需将Framework B的二进制代码合并到Framework A的可执行文件内:

    • 在Framework A的Build Phases中添加Run Script阶段,用lipo命令合并多架构代码;
    • 确保Link Binary With Libraries中正确引入Framework B,开启Build Settings里的Dead Code Stripping,避免冗余静态库文件被打包。
  • 修正Framework A的Bundle结构
    右键查看Framework A的包内容,确认无嵌套Frameworks目录及.a文件。动态Framework标准结构应为:

    frameworkA.framework/
    ├── frameworkA (可执行文件)
    ├── Headers/
    ├── Info.plist
    

    若存在嵌套目录,需移除Framework A的Build Phases中对Framework B的Copy Files操作。

  • 检查主App的Embed配置
    主App的Embed Frameworks仅添加Framework A,Framework B无需单独添加到任何Copy或Embed步骤。在主App的Build Settings中,将Framework B的状态设为Required或Optional,禁止设为Embed & Sign(静态库无需嵌入)。

  • 清理缓存后重新构建
    执行Product > Clean Build Folder,删除Derived Data目录,重新构建Framework A与主App。缓存的旧文件可能导致错误打包结构,清理后可解决此类问题。

  • 验证Framework B的库类型
    部分第三方库标注为静态Framework但实际是动态库,用file命令检查:

    file path/to/frameworkB.framework/frameworkB
    

    若输出含dynamic library,则需将Framework B作为独立动态Framework嵌入主App,而非嵌套在Framework A中。

内容的提问来源于stack exchange,提问作者Thanh33

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 05:52:50