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

Unity iOS构建上传报错:UnityFramework含不允许的'Frameworks'文件

解决Unity集成Facebook SDK后iOS归档上传报错问题

问题现象

  • 集成Facebook SDK前iOS构建归档正常,集成后Xcode归档或Transporter上传均报错:UnityFramework.framework contains disallowed file 'Frameworks'
  • 本地Unity导出的UnityFramework文件夹仅含2个文件,无Frameworks子文件夹
  • Android构建无异常

排查与解决步骤

  1. 修正Facebook SDK的Embed配置
    • 打开Xcode工作区,找到所有Facebook相关Framework(如FBSDKCoreKit.framework、FBSDKLoginKit.framework等)
    • 确保这些Framework的Embed设置仅作用于主App Target(选择Embed & Sign或Embed Without Signing),绝对不要在UnityFramework Target中设置Embed属性
  2. 清理UnityFramework的构建阶段
    • 选中UnityFramework Target,进入Build Phases标签页:
      • 删除Embed Frameworks阶段下所有第三方Framework条目
      • 确认Link Binary With Libraries中仅保留系统原生Framework,第三方Framework只在主App Target中链接
  3. 修正UnityFramework的类型标识
    • 找到UnityFramework目录下的Info.plist,添加或修改以下键值对:
      <key>CFBundlePackageType</key>
      <string>FMWK</string>
      
      确保Xcode正确识别其为Framework类型,避免归档时生成违规嵌套结构
  4. 清理缓存后重新构建
    • 执行Xcode菜单Product > Clean Build Folder
    • 删除Derived Data目录(路径:Xcode > Preferences > Locations > Derived Data)
    • 重新构建项目并尝试归档

原因说明

这个问题核心是第三方SDK的Embed配置错误,导致UnityFramework在归档过程中被自动嵌套了Frameworks子目录,而App Store明确禁止Framework内部包含子Frameworks结构。将第三方SDK的Embed操作限定在主App Target即可解决该问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 18:45:42