Today I dedided to try and start again, so deleted Music.app from the iPhone which as expected, also (not immediately though) deleted all the actual music files from the iPhone.
I then turned on AirPlane mode to ensure no connection for the iPhone to the 'Net. Possibly not necessary, but I wanted to be sure.
I then connected the iPhone to the Mac and was surprised to see that in Music.app, it was still showing the iPhone as having all the music although the iPhone itself shows none there and over 200 Gb of storage free. I also saw it display about 200 Gb used AND over 200 Gb free and available which since the iPhone has 256 Gb is a clear indication that Apple have f****d up somewhere.
In fact, I think it is part of the problem.
I then used the Finder sync window to select all the music I want to sync, basically a number of playlists that amount to about 25k tracks and started the sync - skipping backup as that's a waste of time when just testing music sync.
After a too short time it finished with no error, but instead of the 160 Gb that should have sync'd, the iPhone was only showing about 17 Gb of music. I repeated the sync multiple times, but every time, despite no error, no more music was being copied up to the iPhone. Music.app on the Mac meanwhile was still showing a very large list of music it thought was still on the iPhone - but was not.
So here's what I figured:-
Previous sync'ing meant Music.app on Mac had a list of what it thought was on the iPhone but deleting Music.app and all the media from the iPhone did not update the list that Music.app on the Mac holds. So when trying to sync, it only copied what it thought would fit onto the iPhone, which explains the 17 Gb of music it copied, which matches the 17 Gb of free storage Music.app on the Mac thought was available on the iPhone.
My guess is that it works out how much it thinks can be copied before it starts, so it completes without error, but that doesn't help the user who is left not knowing why only some of the intended media has been sync'd and worse, it does not then update the list on the Mac. So next attempt will just see the iPhone as full and copy nothing more.
This is nothing but unbelievably poor software from Apple. No excuses, it is an abysmal attempt at creating sync software.
So I picked one small playlist to sync. Just a few tracks that it would think were already on the iPhone, or at least would fit the available space and started sync again. This time it was able to complete the sync of that playlist AND update the list held on the Mac as well as deleting what was already on the iPhone, but not in this small playlist. So finally, what the Mac thought was on the iPhone and what was actually on the iPhone were correct, with all the correct available free space. Phew.
Then I selected the big playlist that includes all the 160+Gb of music I want on the iPhone and started sync again and eventually, in 'Step 5 of 5', the progress line shows it actually copying over 20k tracks. It is currently working its way through all that. Same music as was on there earlier today, but hopefully now exactly as it is in Music.app on the Mac with no access to the Internet or even Music.app on the iPhone to mess around with the sync process. Once that is finished, I'll select the additional playlists I want to sync but that should be real quick as their tracks will already be up there.
Then I'll download Music.app to the iPhone again and immediately turn off all access to Apple Music (streaming service) and any purchased media so it should not try and match anything up and all should stay correct and as it was on the Mac.
The issue with the list held on the Mac of what it thinks is on the iPhone not being correctly updated is a problem however as the only way to sync that list is to sync a small amount of music which deletes all the rest and then it all has to be copied up to the iPhone all over again. So not something one wants to repeat. I just hope it all does end up how I want so I will not have to do it again.
There is something else that's not quite right. The playlist I am currently sync'ing contains "25,607 songs", as reported by Music.app on the Mac and there were 37 of those already on the iPhone from the first small playlist sync. Which means it should be sync'ing 25,570 additional songs/tracks, yet the progress line of the sync process displays "Copying xxxxx of 22.562" which is roughly 3k songs/tracks short. Where are those 3k tracks? Why are they not being sync'd?
The only answer that occurs to me is that when the large sync starts, that progress line initially displays a much smaller number as the total to sync, but as it proceeds, that number increases as if it starts the sync before it's finished counting them all and repeatedly updates that total as it counts until eventually it has counted all those still to sync. IOW, the final total that no longer changes while the sync proceeds is how many were left by the time they were all counted. So those already sync'd by the time it finished counting are not included in that total figure which hence does not represent all the tracks it is copying in this sync.
That's the only explanation I can think of, but it's a crummy way to write software. What's the point of displaying a total to the user when it's not correct and just some rather random number less than the true number. Or maybe the sync software simply can't count.
Anyway, that's where I am and when the sync has finished I'll report back on how it worked out and if the music is there all present and correct. 🤞