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

Cocoa Touch Framework Bitcode支持:项目归档失败求助

解决Cocoa Touch Framework通过CocoaPods分发时的归档失败问题

我经手过不少这类归档失败的案例,大概率是你构建fat framework的脚本逻辑和Xcode归档的规则冲突了,毕竟App Store不允许归档包包含模拟器架构。下面是一步步的排查和解决方法:

1. 修正Run Script的执行逻辑

你的脚本现在每次构建都生成包含模拟器+真机架构的fat framework,但归档阶段Xcode会严格校验架构——模拟器架构(x86_64/i386)是不被允许的。我们需要让脚本区分普通构建和归档构建:

修改你的Run Script,加入环境变量判断:

# 判断是否处于归档模式
if [ "${CONFIGURATION}" = "Release" ] && [ "${ARCHIVE}" = "YES" ]; then
    # 归档阶段:只保留真机架构,跳过lipo合并
    echo "正在归档:仅编译真机架构"
else
    # 普通开发构建:合并模拟器和真机架构(保留你原来的lipo逻辑)
    DEVICE_FRAMEWORK="${BUILD_DIR}/${CONFIGURATION}-iphoneos/${PRODUCT_NAME}.framework"
    SIMULATOR_FRAMEWORK="${BUILD_DIR}/${CONFIGURATION}-iphonesimulator/${PRODUCT_NAME}.framework"
    UNIVERSAL_OUTPUT_DIR="${BUILD_DIR}/${CONFIGURATION}-universal"
    
    mkdir -p "${UNIVERSAL_OUTPUT_DIR}"
    cp -R "${DEVICE_FRAMEWORK}" "${UNIVERSAL_OUTPUT_DIR}/"
    
    lipo -create "${DEVICE_FRAMEWORK}/${PRODUCT_NAME}" "${SIMULATOR_FRAMEWORK}/${PRODUCT_NAME}" -output "${UNIVERSAL_OUTPUT_DIR}/${PRODUCT_NAME}.framework/${PRODUCT_NAME}"
fi

同时记得调整脚本的执行顺序:在Compile Sources之后,Copy Bundle Resources之前,避免资源复制冲突。

2. 调整Podspec的配置细节

如果你的podspec直接指向了fat framework,归档时CocoaPods可能会把多余的模拟器架构打包进去。可以做这些优化:

  • 在podspec中限制仅允许真机架构:
    spec.pod_target_xcconfig = {
      'VALID_ARCHS' => 'arm64 armv7 armv7s'
    }
    
  • 确保vendored_frameworks指向的路径在归档阶段能正确找到仅含真机架构的框架文件,或者考虑让CocoaPods在安装时根据目标设备自动编译对应架构(而非预编译fat framework)。

3. 检查Xcode项目的构建配置

打开你的Framework项目,进入Build Settings:

  • 在Release/归档配置下,把Valid Architectures里的x86_64、i386删掉,只保留arm64、armv7、armv7s;
  • 把Build Active Architecture Only在Release配置下设为NO,确保编译所有指定的真机架构。

4. 清理缓存后重试

缓存经常会导致诡异的问题,按以下步骤清理后再尝试归档:

  • 清理项目:Cmd + Shift + K;
  • 删除Derived Data:Xcode → Preferences → Locations → Derived Data → 点击箭头打开文件夹并删除;
  • 重新安装Pods:pod deintegrate && pod install。

5. 验证框架架构(可选)

归档前可以手动检查框架的架构,确保没有多余的模拟器架构:

lipo -info /path/to/your/framework.framework/YourFrameworkName

如果输出里包含x86_64或i386,说明脚本逻辑还没调整到位,需要再检查。

内容的提问来源于stack exchange,提问作者Andrea Mario Lufino

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 08:46:13