bek*_*u68 5 iphone xcode ios swift
我想将图像保存到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,并且还将更改应用程序沙箱,最后用户无法引用其图像.
类似情况:
相关指南:
提前致谢.
似乎我必须坚持道路作为亲戚而非绝对.
我会尝试这种方法,如果我解决了我的问题,我会更新问题.
我必须坚持相对路径而不是绝对路径。我还可以通过获取来挽救旧的运行图像NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.UserDomainMask, true)[0] + "persisted relative path"。