Тестирование iCloud вне XCode: подпись недействительна - PullRequest
1 голос
/ 14 февраля 2012

Итак, я работаю над приложением Mac с функцией iCloud.В Xcode все нормально.Я использую сертификат разработчика Mac в паре с профилем команды Mac (удостоверение подписи кода, из настроек сборки).Когда я компилирую и запускаю, я могу сохранять / загружать файлы из iCloud.Я счастлив.

Где я не счастлив, это когда я создаю пакет и отправляю его тестировщикам.Приложение не запускается вообще!У меня есть следующий вывод из консоли:

12-02-13 3:50:09.796 PM sandboxd: ([51185]) taskgated-helper(51185) deny mach-lookup com.apple.ocspd
12-02-13 3:50:09.796 PM sandboxd: ([51185]) taskgated-helper(51185) deny mach-lookup com.apple.ocspd
12-02-13 3:50:09.796 PM sandboxd: ([51185]) taskgated-helper(51185) deny mach-lookup com.apple.ocspd
12-02-13 3:50:09.797 PM sandboxd: ([51185]) taskgated-helper(51185) deny mach-lookup com.apple.ocspd
12-02-13 3:50:09.867 PM ReportCrash: Saved crash report for myAppName[51195] version ??? (???) to /Users/plboily/Library/Logs/DiagnosticReports/myAppName_2012-02-13-155009_Blinky.crash
12-02-13 3:50:09.870 PM ReportCrash: Removing excessive log: file://localhost/Users/plboily/Library/Logs/DiagnosticReports/myAppName_2012-02-03-113847_Blinky.crash
12-02-13 3:50:10.000 PM kernel: CODE SIGNING: cs_invalid_page(0x1000): p=51195[myAppName ] honoring CS_KILL, final status 0x10201
12-02-13 3:50:10.000 PM kernel: CODE SIGNING: cs_invalid_page(0x1000): p=51195[myAppName ] clearing CS_VALID

Ниже приведен фрагмент журнала сбоев:

Exception Type:  EXC_CRASH (Code Signature Invalid)
Exception Codes: 0x0000000000000000, 0x0000000000000000

Thread 0 Crashed:
0   dyld                            0x8fea9280 dyldbootstrap::start(macho_header const*,  int, char const**, long, macho_header const*) + 526
1   dyld                            0x8fea9063 _dyld_start + 51

Есть идеи, что случилось?Кто-нибудь знает, почему у меня такие проблемы?У меня уже есть профиль моей команды Mac в системном профиле

Кстати, когда я делаю сборку на нашей сборочной машине, в папке .app появляется папка _ CodeSignature , плюс внедренный файл .provisioningprofile .Кажется, все есть.Мне интересно, нужно ли мне добавлять идентификатор подписи кода ко ВСЕМ целям моего проекта?Прямо сейчас я только подписал цель приложения.

Спасибо

Ответы [ 2 ]

0 голосов
/ 14 февраля 2012

Я наконец нашел, в чем была моя проблема!

Проблема в том, что после моей команды codeignign я изменил свой двоичный файл с помощью change_name_tool. Итак, поскольку двоичный файл изменился, подпись больше не действительна !!!!

0 голосов
/ 14 февраля 2012

Мне нужно было изменить свой rightlement.plist, чтобы идентификатор профиля приложения не был $ (TEAMID) .appid, поэтому зайдите в центр разработки, посмотрите на идентификатор приложения и получите буквы и цифры до dns-части идентификатора вашего приложения и замените его.$ (TEAMID) в rightlement.plist для этого.Я сделал это и ту же ошибку, что вы остановили, но мне нужно было сделать это только с одним приложением, а не с двумя другими приложениями iCloud, которые у меня есть.Я также удалил все документы в icloud, чтобы начать с чистого хранилища.

- (NSURL *)iCloudURL
{
    return [[NSFileManager defaultManager] URLForUbiquityContainerIdentifier:nil];
}
    NSError *error = nil;
[[NSFileManager defaultManager] removeItemAtURL:[self iCloudURL] error:&error]; 
...