Я проследил проблему до рукопожатия TLS (спасибо jonnydigitol ниже за идею!) И в общей сложности 63 пакета между хостом и 23.211.148.217, который является init.iTunes.apple.com - который выполняется при запуске iTunes , Как только это рукопожатие завершится, все в порядке, и вы можете использовать iTunes. Но вы должны туннелировать трафик на этот хост при запуске, иначе вы получите ошибку при каждом изменении песни, когда iTunes пытается подключиться к init.iTunes и выдает всплывающее окно с ошибкой.
Подумайте над ответом ниже: jonnydigitol - вы можете подключиться через интернет по мобильному телефону или через туннель к init.iTunes.apple.com, запустить iTunes и никогда не выключать его - тогда он продолжает работать без подключения к интернету «бесконечно».
Как действительно «исправить» проблему, установив свой собственный веб-сервер на localhost, который отвечает на пинг:
(Убедитесь, что ваш iTunes обновлен, возможно, уже исправлено)
Откройте Приложения-> Утилиты-> Терминал и введите следующие строки
Если у вас не установлен homebrew, сначала сделайте это:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Убедитесь, что openssl и node.js установлены
brew install openssl node wget
Для перенаправления init.apple.itunes.com на локальный
echo '127.0.0.1 init.iTunes.apple.com' | sudo tee -a /etc/hosts
Вам нужно будет дать свой пароль. Далее создайте и зарегистрируйте свой собственный корневой сертификат.
openssl genrsa -out rootCA.key 2048
openssl genrsa -des3 -out rootCA.key 2048
Введите любой пароль, который вам нравится
openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 1024 -out rootCA.pem
Введите пароль. Оставьте все строки пустыми, кроме
Общее имя (например, полное доменное имя сервера или ваше имя) []: init.itunes.apple.com
И снова то же самое (та же самая фраза, то же самое общее имя)
sudo security add-trusted-cert -d -r trustRoot -k "/Library/Keychains/System.keychain" rootCA.pem
openssl genrsa -out device.key 2048
openssl req -new -key device.key -out device.csr
openssl x509 -req -in device.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out device.crt -days 500 -sha256
sudo security add-trusted-cert -d -r trustRoot -k "/Library/Keychains/System.keychain" device.crt
Запишите ответ и запустите собственный https-сервер, который принимает пинг
wget -O response.xml "https://itunes.apple.com/WebObjects/MZStore.woa/wa/initiateSession?ix=1"
echo "var t=require('tls');var f=require('fs');var xmlresp = f.readFileSync('response.xml');var options = {key:f.readFileSync('device.key'),cert:f.readFileSync('device.crt')};var server=t.createServer(options, function (request,response) {request.on('data', function (chunk) {request.write(xmlresp);});});server.listen(443, function() {});" > ims.js
sudo node ims.js
Оставьте терминал открытым или сверните его, откройте Safari
Перейти на https://init.itunes.apple.com
Если вы получили предупреждение о сертификате доверия, измените политику на «всегда доверять». Если страница загружается бесконечно, все в порядке.
Откройте iTunes. Ошибка должна исчезнуть.
В будущем, если вы хотите использовать iTunes, откройте терминал и запустите
sudo node ims.js
Затем запустите iTunes.
Или вернитесь к более старой версии.
Я отказался от этой проблемы, отправил отчет об ошибке в Apple и, ничего не услышав от них, откатился на предыдущий iTunes и восстановил полную библиотеку за час работы. Теперь все работает снова, но я очень разочарован Apple здесь. Я (пока) не привык к тому, что они выпускают такой плохой код.
Единственным выходом для меня было использовать Pacifist, чтобы распаковать старый pkg iTunes, который я скачал из Apple, и извлечь приложение, а затем пересобрать всю библиотеку iTunes (которая ОГРОМНА). Это своего рода хакерство, я иногда привык к необходимости в системах Windows, но я не могу вспомнить, что мне приходилось делать такие вещи в OSX когда-либо. До нынешнего момента. Что дальше, разбирать?
Apple, у тебя проблема с качеством программного обеспечения. Просто мои 2 цента.
Новости - Apple обработала мой отчет об ошибке и присвоила ему статус «дубликат 29741441 (ОТКРЫТО)».