我使用下面的代码来获取应用程序支持目录:
NSString * supportDir = [NSSearchPathForDirectoriesInDomains(NSApplicationSupportDirectory, NSUserDomainMask, YES) lastObject];
如果它在 iphone 或模拟器上执行,我会得到正确的路径(使用应用程序 guid):
a)iphone:
/var/mobile/Applications/APP_GUID/Library/Application Support/
b)模拟器:
/Users/realuser/Library/Application Support/iPhone Simulator/6.0/Applications/APP_GUID/Library/Application Support/
其中:
- realuser - 我的用户名
- APP_GUID - 应用程序的 GUID
但是当它在 CI 服务器上执行时 - Hudson(自动构建,但使用 iOS 5.1 simualtor)我得到了
/Users/realuser/Library/Application Support/
所以路径中没有 guid 应用程序字符串。
在这两种情况下,函数数组:
NSSearchPathForDirectoriesInDomains(NSApplicationSupportDirectory, NSUserDomainMask, YES)
只包含一个对象,因此它是数组中的最后一个对象还是第一个对象没有区别。
我做了一些谷歌研究,但没有解决方案。Hudson env 变量中是否缺少某些想法?我该如何解决?
也许使用接口 URLsForDirectory:inDomains: 更好?
——
问候
亚当