首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在iCloud外部测试XCode :签名无效

在iCloud外部测试XCode :签名无效
EN

Stack Overflow用户
提问于 2012-02-13 21:12:17
回答 2查看 1.1K关注 0票数 1

因此,我正在开发一个带有iCloud功能的Mac应用程序。在Xcode中,一切都很好。我使用Mac证书与配对(代码签名标识,来自构建设置)。当我编译和运行时,我可以从iCloud保存/加载文件。我很高兴。

在我不高兴的地方,这是我创建包并将其发送给测试人员的时候。应用程序根本没有启动!控制台的输出如下:

代码语言:javascript
运行
复制
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

以下是崩溃日志的片段:

代码语言:javascript
运行
复制
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文件夹中出现了一个.app文件夹,还有一个embedded.provisioningprofile文件。一切似乎都在那里。我想知道是否必须将代码签名标识添加到项目的所有目标中?现在我只签了申请目标。

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-02-14 18:12:28

我终于找到了我的问题所在!

问题是,在我的codesign命令之后,我用change_name_tool修改了二进制文件。因此,由于二进制更改,签名不再有效!

票数 0
EN

Stack Overflow用户

发布于 2012-02-14 02:49:42

我需要更改我的entitlement.plist,以便拥有应用配置文件id而不是$(TEAMID).appid,因此,请使用开发中心,查看应用程序id,在应用程序id的dns部分之前获取字母和数字,并将entitlement.plist中的$(TEAMID)替换为此。我做了这个和你已经停止的同样的错误,但是我只需要用一个应用程序,而不是我拥有的另外两个iCloud应用程序。我还删除了icloud中的所有文档,以便从干净的存储开始。

代码语言:javascript
运行
复制
- (NSURL *)iCloudURL
{
    return [[NSFileManager defaultManager] URLForUbiquityContainerIdentifier:nil];
}
    NSError *error = nil;
[[NSFileManager defaultManager] removeItemAtURL:[self iCloudURL] error:&error]; 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9268102

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档