tl; dr: Оказывается, мне просто пришлось вручную отредактировать файл проекта, чтобы сообщить Xcode о новом профиле.Теперь я не знаю , почему мне пришлось вручную обновлять файл проекта.Возможно, я сделал что-то не так в процессе импорта нового профиля в XCode, поэтому он не осознавал, что мой новый профиль вошел. Или файловая система задохнулась на полпути, и XCode не смог обновить себя.О, хорошо.
Теперь для технической части fun :
ВАЖНО: Как и все, что связано с изменением файлов, которые вы не должныНе изменяйте: убедитесь, что вы создали резервную копию вашего .xcodeproj
пакета и / или всего проекта XCode, или убедитесь, что ваш проект XCode находится в надлежащем управлении версиями .Вы не хотите портить и заставлять XCode перестать строить ваш проект на вашем устройстве, без чего-либо отвлекаться.
Я заглянул в содержимое пакета .xcodeproj
моего приложения (Xcodeне работает в это время).Чтобы просмотреть их, откройте папку вашего проекта в Finder, затем щелкните его, удерживая нажатой клавишу «Control», по файлу .xcodeproj
и выберите Показать содержимое пакета :
Breeze.xcodeproj/
Daniel.mode1v3
Daniel.pbxuser
project.pbxproj
Затем откройте project.pbxproj
в тексте.редактор (текстовый, а не двоичный), и посмотрел информацию о конфигурации сборки.
Там есть раздел, помеченный /* Begin XCBuildConfiguration section */
(который вы можете найти с помощью функции поиска вашего редактора).Это список записей, каждая из которых представляет конфигурацию подписи кода для данного профиля в данной конфигурации сборки.
Вот информация о профиле, который я использую для подписи своего двоичного файла для разработки:
1D6058940D05DD3E006BFB54 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer: Daniel Tan (XXXXXXXXXX)";
COPY_PHASE_STRIP = NO;
GCC_DYNAMIC_NO_PIC = NO;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = Breeze_Prefix.pch;
GCC_VERSION = com.apple.compilers.llvmgcc42;
INFOPLIST_FILE = "Breeze-Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 4.0;
PRODUCT_NAME = "Breeze";
"PROVISIONING_PROFILE[sdk=iphoneos*]" = "36F99F3E-805F-47A7-95D4-FF8324711CBE";
SDKROOT = iphoneos;
};
name = Debug;
};
Обратите внимание на эту строку:
"PROVISIONING_PROFILE[sdk=iphoneos*]" = "36F99F3E-805F-47A7-95D4-FF8324711CBE";
Это GUID, сообщенный ошибкой сборки;идентификатор моего старого просроченного профиля обеспечения.
Все, что мне нужно было сделать, это заменить его на GUID нового профиля:
"PROVISIONING_PROFILE[sdk=iphoneos*]" = "E6E6369E-FD58-4886-9C3A-72C9DAE36501";
Я снова открываю свой проект в Xcode итеперь мое приложение успешно собирается и устанавливается на мои устройства с использованием нового профиля обеспечения.