As I have said before, I can't speak with authority for how iOS CC works, but I suspect that in this case iOS CC does the same thing as Android CC (aCC). aCC reports the file size in bytes of the book file stored on the device as provided by the operating sustem. It does not attempt to round the number to MB, etc. There is no guarantee that the operating system provides the actual size of the file content. It could instead be providing the amount of storage that the file consumes along with any file metadata.
Calibre's size column reports the size of the largest format file for the book, rounded to true MB etc (divided by 1024 * 1024 instead of 1000 * 1000). This number will never match the value in *CC because of the rounding.
If you want to see calibre's size column in either iCC or aCC then you must create a column built from other columns. The template would be
Code:
program: format_number(divide(booksize(), 1048576), '{0:.1f} MB')
Personally, I don't see the use. Why does one need to know the size of a format that isn't on the device?
EDIT: It is also possible for the calibre number to be wrong. This happens if someone replaces a book format in some manner other then through calibre.