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

Xcode多目标共享框架本地化导出失败问题求助

解决多平台共享框架导出本地化时的平台选择报错

针对共享框架同时支持iPhone/iPad/Apple Watch多平台,导出本地化时出现的 Could not choose a single platform from the supported platforms iphoneos, iphonesimulator, watchos, watchsimulator of target 报错,以下是几种实用解决办法:

方法1:终端命令指定平台导出

直接通过xcodebuild命令指定具体平台执行导出操作,避免Xcode自动选择的歧义:

  • 打开终端,切换到项目根目录
  • 执行对应平台的导出命令,示例:
    • 导出iPhone真机平台的本地化:
      xcodebuild -exportLocalizations -localizationPath ./LocalizationsExport -project YourProject.xcodeproj -target YourSharedFrameworkTarget -sdk iphoneos
      
    • 导出Apple Watch模拟器平台的本地化:
      xcodebuild -exportLocalizations -localizationPath ./LocalizationsExport -project YourProject.xcodeproj -target YourSharedFrameworkTarget -sdk watchsimulator
      
  • 若需要全平台的本地化内容,可以分别导出各平台的文件后手动合并(注意处理字符串冲突)。

方法2:临时修改框架构建设置

通过临时限制框架的支持平台,让Xcode能明确选择:

  • 选中共享框架目标,进入Build Settings
  • 找到Supported Platforms选项,临时修改为单一平台(比如只保留iphoneos)
  • 执行Xcode菜单的Editor > Export For Localization...完成导出
  • 导出结束后,记得将Supported Platforms改回原来的多平台列表,避免影响后续项目构建。

方法3:通过Scheme指定平台

为不同平台创建独立的Scheme,让Xcode根据Scheme确定导出平台:

  • 为共享框架创建对应各平台的Scheme(比如分别创建针对iPhone、Apple Watch的Scheme)
  • 选中目标平台的Scheme,确保其Build Configuration为你需要的配置(如Release)
  • 执行Editor > Export For Localization...,此时Xcode会依据当前Scheme关联的平台完成导出。

注意事项

  • 合并多平台本地化文件时,需留意平台特有的字符串,避免误覆盖。
  • 使用命令行导出时,确认项目路径、目标名称、SDK参数拼写正确。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 18:35:31