iOS 10.3 (currently in beta) converts the filesystem to APFS. This happens transparently during the update and without changing any data or installed apps. That’s nice.
I’d just like to note that the APFS in-place conversion probably isn’t happening on iPhone 5 devices at all. I have one and was curious to see if there was a way to check. One of the features advertised for APFS was higher resolution for file timestamps. So I wrote a little test app and ran it on different devices. It quickly creates a series of files and compares their “modified” timestamps. It seems like the time resolution for iPhone 5 running iOS 10.3 beta is still 1 second, which would suggest it’s still using HFS. Link to the app: https://github.com/catnapgames/TestIOSAPFSCheck. If you have Xcode installed on your Mac you can build and run it yourself – developer account is no longer required for running apps on your own device.
- it’s easier to #include <sys/mount.h>, call statfs and check the f_fstypename of the struct statfs result: it will be hfs or apfs.
- it is “hfs” on the iPhone 5 with 10.3 release
- it is “apfs” on an iPad Mini4 with 10.3 release
Thanks to @jakepetroules for the tip. This verifies my previous results.