相关疑难解决方法(0)

每次运行后,Xcode 6会继续在iOS8模拟器中重命名我的应用程序目录.

我正在运行Xcode 6 Beta 5,但自第一次测试以来,这种情况一直在发生.模拟器中的应用程序目录在每次运行后都会被重命名.我花了一段时间来弄明白这一点.我正在使用它来获取doc的dir参考.

NSString *folder = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
                                                        NSUserDomainMask,
                                                        YES) lastObject];

NSLog(@"Documents Dir: %@",folder);
Run Code Online (Sandbox Code Playgroud)

现在例如在第一次运行时它将是:

/ Users/Joey/Library/Developer/CoreSimulator/Devices/5B9930EE-A9B4-4B36-BABB-AA864ACAF2DE/data/Containers/Data/Application/4B10C2E4-A5C3-4C64-93B1-4069FCCB9C46/Documents

现在第二次运行:

/ Users/Joey/Library/Developer/CoreSimulator/Devices/5B9930EE-A9B4-4B36-BABB-AA864ACAF2DE/data/Containers/Data/Application/7E9EB62D-115A-4092-AD23-CB6BA3E5E10F/Documents

第三轮:

/ Users/Joey/Library/Developer/CoreSimulator/Devices/5B9930EE-A9B4-4B36-BABB-AA864ACAF2DE/data/Containers/Data/Application/EC8F41E8-52ED-4B10-9808-B3ACC46FC6AA/Documents

这对我的应用程序造成了严重破坏,因为它存储了应用程序中某些文件的路径引用.这不是我的NSLog语句返回不正确的结果,我验证了这是在Finder中发生的事情.它每次都在改变这个名字.有没有人见过这种情况?这是一个我误解的"特征"吗?

xcode objective-c ios xcode6 ios8

69
推荐指数
3
解决办法
1万
查看次数

NSSearchPathForDirectoriesInDomains的应用程序ID在Real Device上按模拟器运行和更新应用程序进行更改

我想将图像保存到iPhone的用户域,所以我写下面的代码.

let path = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.UserDomainMask, true)[0]
print(path)
Run Code Online (Sandbox Code Playgroud)

它显示如下: /Users/xxx/Library/Developer/CoreSimulator/Devices/1312F880-6BDC-45D2-B3B3-4D2374313C67/data/Containers/Data/Application/A2850237-5E71-4373-81A6-B443032E1951/Documents/

在这种情况下,应用程序ID是 A2850237-5E71-4373-81A6-B443032E1951

问题是,当我再次在模拟器上运行而无需移除APP时,它显示如下: /Users/xxx/Library/Developer/CoreSimulator/Devices/1312F880-6BDC-45D2-B3B3-4D2374313C67/data/Containers/Data/Application/1F9B5B0A-5A6C-4098-BF40-C978C60C93AF/Documents/

在这种情况下,应用程序ID是 1F9B5B0A-5A6C-4098-BF40-C978C60C93AF

因此,虽然我刚刚更新了应用程序并且没有删除应用程序,但是之前和当前安装之间存在应用程序ID差异.为什么会引起它以及如何解决它?

它导致Xcode 7.2,7.1,7.0.它不仅会导致模拟器安装,还会导致实际的设备安装.因此,如果iOS用户从应用商店更新应用程序,将更改应用程序ID,并且还将更改应用程序沙箱,最后用户无法引用其图像.

类似情况:

相关指南:

提前致谢.

编辑

似乎我必须坚持道路作为亲戚而非绝对.

我会尝试这种方法,如果我解决了我的问题,我会更新问题.

iphone xcode ios swift

5
推荐指数
1
解决办法
1060
查看次数

标签 统计

ios ×2

xcode ×2

ios8 ×1

iphone ×1

objective-c ×1

swift ×1

xcode6 ×1