As all we know, iOS 8 - iOS 8.1 are able to be jailbroken by pangu jailbreak. After jailbroken my device, I found it is much different from previous iOS version.
The biggest change I have found is that the path of user land applications change from
But that's not the end.
When install the app which is based on old iOS version, iOS 8 will create a Data folder under /var/mobile/Containers/.
It means that:
Old app (not based on iOS 8 SDK)
real path: /var/mobile/Containers/Bundle/Application/GUID/foo.app
virtual path: /var/mobile/Containers/Data/Application/Another-GUID/foo.app
The virtual path is actually a symbolic link to its real path. To find the documents, tmp and library folders' path on iOS 8, I NSLog the new sandbox path.
NSString *sandboxPath = NSHomeDirectory();
The result is /var/mobile/Containers/Data/Application/441CB57B-1B2F-40EC-AF1F-BED9B8F8AD8B
It seems that applications' data are saved in /var/mobile/Containers/Data/Application/GUID/ on iOS 8.
So we can come a conclusion, on previous iOS version, applications' data saved in /var/mobile/Applications/GUID/Documents[tmp|Library]/ but now are saved in /var/mobile/Containers/Data/GUID/Documents[tmp|Library]/
But the application which build based on iOS 8 SDK, its app bundle is NOT linked in /var/mobile/Containers/Data/Application/GUID/ . So how does iOS store the different path and then link the app bundle with its document folder still remain to see.