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

Unity基于旧项目创建Mac应用:如何生成唯一PlayerPrefs plist?

解决Unity Mac应用PlayerPrefs plist冲突问题

核心问题在于:Unity在macOS上的PlayerPrefs是基于**Bundle Identifier(包标识符)**而非Product Name来定位存储文件的,你只修改了Product Name但Bundle ID和旧应用一致,导致两个应用共用同一份plist,进而出现覆盖问题。以下是无需重建项目的解决步骤:

1. 修改Unity项目的Bundle Identifier

  • 打开Unity编辑器,进入Edit > Project Settings > Player面板
  • 在Other Settings区域找到Bundle Identifier字段,将原有值替换为唯一的新标识符(遵循反向域名规则,比如原ID是com.yourteam.oldgame,可改为com.yourteam.newgame)
  • 确保这个ID没有和其他应用重复,这是保证PlayerPrefs独立存储的关键

2. 验证构建后的应用配置

  • 重新构建新应用后,右键点击生成的.app文件,选择「显示包内容」
  • 打开Contents/Info.plist文件,确认其中的CFBundleIdentifier字段已经更新为你设置的新ID

3. 清理残留缓存(可选)

  • 如果之前新应用已经读取过旧的plist数据,可手动清理旧文件避免干扰:
    • 打开Finder,按下Shift+Command+G,输入路径~/Library/Preferences/
    • 找到以旧Bundle ID命名的.plist文件(例如com.yourteam.oldgame.plist),可备份后删除;同时确认新应用对应的plist文件(新ID命名)已生成

额外提示:如果因特殊原因无法修改Bundle ID,也可以通过代码自定义PlayerPrefs的存储路径,但这种方式需要编写额外代码,不如修改Bundle ID直接可靠,不推荐作为首选方案。

内容的提问来源于stack exchange,提问作者James Stephen Brown

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 21:25:24