(CC_TARGET_PLATFORM == CC_PLATFORM_MAC)
我用
string s = UserDefault::getInstance()->getXMLFilePath();
CCLOG("userdefault path:%s, len: %d", s.c_str(), s.size());
打印出:
userdefault path:/Users/jianan/Library/Caches/UserDefault.xml, len: 44
但实际上我去这个目录下,并没有找到这个文件。
最后我在
/Users/jianan/Library/Preferences下也就是: ~/Library/Preferences 下找到 mahjonggx.plist 文件,打开后,发现这个文件里面确实是有我想要的东西,然而可惜的是:里面是乱码。然而这个文件就是真正的userdefault文件,因为把它删除后缓存xml文件确实没了。
下面是当时的一些疑问:
贾楠 6-1 18:18
大家知道mac下面userdefault这个问题嘛。。我现在想:在我这重启多个客户端,让它们读取不同的这个userdefault文件。 但是我现在发现它们读取的都是:~/Library/Preferences 下的 mahjonggx.plist这个文件。
贾楠 6-1 18:30
搞定了。mac下的userdefault确实是读取的这个plist文件
杨世玲 6-1 18:37
那个是和BundleID相关的。
杨世玲 6-1 18:38
不同的客户端可以用不同的bundleID
何元博 6-1 18:39
每个客户端有自己的Library吧 iOS就是这样的
因此让不同app读取不同userdefault文件的方法就是:重新命名这个app名字。
------------华丽分割线-------------
最近又在试删除这个plist的时候,发现不行了。最后这样删除的可行。
1.
which cccc: aliased to /Users/jianan/Documents/gxmj/guangxi/guangxi_debug/runtime/mac/mahjonggx.app/Contents/MacOS/mahjonggx -workdir ~/Documents/gxmj/guangxi/guangxi_debug -console disable
2.
cd /Users/jianan/Documents/gxmj/guangxi/guangxi_debug/runtime/mac/mahjonggx.app/Contents/MacOS/3.
defaults delete com.guangxi.mac即可。
这个包名来源:
cat /Users/jianan/Documents/gxmj/guangxi/guangxi_debug/frameworks/runtime-src/proj.ios_mac/mac/Info.plist看到这个字段:
<key>CFBundleIdentifier</key> <string>com.guangxi.mac</string>具体设置: