I had a quick look at the code and indeed, if there’s no directory called
temp-ios-directory then the code will create it and “Download iOS code”. If the directory does not exist, then it will not do the download. Presumably something later assumes the download has happened and crashes because it’s not there.
Given the way the check is done, if there’s a file called
temp-ios-directory it will also crash because it assumes that
!isDirectory(...) implies that there’s nothing there and it can create the directory. The error would be different in that case, of course.