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

Github Actions更新后配置文件不包含Runner设备UUID的解决方法咨询

解决Github Actions Runner设备UUID变动导致的Provisioning Profile问题

方案1:改用通用型Provisioning Profile(推荐)

  • 放弃绑定特定设备的开发Profile,切换为不限制设备的通用Profile:
    • 登录Apple开发者后台,创建Profile时选择对应类型(如iOS App Development/Ad Hoc/App Store),在设备选择环节勾选「All Devices」(团队账号支持该选项)。
    • 个人账号若无法选「All Devices」,可直接用Ad Hoc或App Store类型的Profile,这类Profile无需绑定单个设备UUID。

方案2:自托管Runner固定设备UUID

  • 若必须用绑定特定设备的Profile,可直接修改Runner系统配置固定UUID:
    1. 在Runner机器的「系统设置-通用-关于本机」中复制当前Hardware UUID。
    2. 终端执行命令(需管理员权限):
      sudo defaults write /Library/Preferences/com.apple.SystemProfiler.plist UUID -string "你的固定UUID"
      
    3. 重启机器后,执行system_profiler SPHardwareDataType | grep "Hardware UUID"验证是否生效。
    • 仅适用于自托管Runner,Github托管Runner无法修改系统配置。

方案3:构建时指定通用设备

  • 在Xcode构建命令中指定通用设备,跳过设备UUID校验:
    • 替换原有构建命令,例如:
      xcodebuild -workspace YourApp.xcworkspace -scheme YourScheme -destination 'generic/platform=iOS' build archive
      
    • 此方式让Xcode以通用设备模式构建,无需Provisioning Profile包含Runner的设备UUID。

方案4:自动更新Provisioning Profile(进阶)

  • 用fastlane工具自动管理Profile,构建前自动添加Runner设备UUID并更新Profile:
    1. 项目中配置fastlane,添加相关动作:
      lane :ci_build do
        sigh(force: true) # 强制更新Profile
        xcodebuild(workspace: "YourApp.xcworkspace", scheme: "YourScheme", destination: "generic/platform=iOS")
      end
      
    2. Github Actions Workflow中执行fastlane ci_build,工具会自动将当前Runner设备UUID同步到Apple后台并生成新的Profile。
    • 需提前配置Apple开发者账号API密钥,确保fastlane有修改设备和Profile的权限。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 14:30:54