我们正在为客户端移植Android应用程序到iOS。他们已将我们的帐户添加到他们的iTunes Connect帐户并创建了一个应用程序条目。我们使用他们指定的包ID开发了应用程序。
但是现在,当应用程序准备好进行测试时,我们无法在Xcode中创建配置文件。它设置为自动签名,并显示以下错误:
<?php
$xml = 'https://tickets.leicesterymca.co.uk/feed/shows';
$data = simplexml_load_file($xml);
$encode = json_encode($data);
$decode = json_decode($encode);
$results = $decode->Show;
//function to sort by object (not array)
function date_compare($a, $b) {
$t1 = strtotime($a->ActiveFrom);
$t2 = strtotime($b->ActiveFrom);
return $t2 - $t1; // reverse it to check it works or not $t2 - t1
}
usort($results , 'date_compare');
if(isset($wp_query->query_vars['month'])) {
$month = $wp_query->query_vars['month'];
$fromDate = date("Y"). '-'. $month;
$shows = $xml->xpath("//*[contains(ActiveFrom,'$fromDate')]");
}
else if(isset($wp_query->query_vars['genre'])) {
$genre = str_replace("-", " ", $wp_query->query_vars['genre']);
if($genre != 'all'){
$shows = $xml->xpath("//*[Genres/Genre/@Name='$genre']");
}else{
$shows = $results;
}
}
else {
$shows = $results;
}
?>
<!--next-->
<?php
$i = 1;
foreach ($results as $Show) {
$activeFrom = date_create($Show->ActiveFrom);
$activeTo = date_create($Show->ActiveTo);
if(strlen($Show->ShowId) > 0){
?>
<div>
<div class="box">
<div class="caption">
<h3><?php echo $Show->Name ?></h3>
<p><?php echo $activeFrom->format('D d M Y'); ?></p>
<div class="row">
<div class="col-xs-6 col-sm-6 col-md-6">
<a href='/show?showid=<?php echo $Show->ShowId ?>' class='btn btn-success btn-sm btn-clear-white'>More Info</a>
</div>
<div class="col-xs-6 col-sm-6 col-md-6">
<a href='/buy?showid=<?php echo $Show->ShowId ?>' class='btn btn-success btn-sm btn-clear-white'>Buy Tickets</a>
</div>
</div>
</div>
<div class='image-holder' style='background-image: url("<?php echo $Show->SmallImageUrl ?>");' /></div>
</div>
</div>
<?php $i++; }} ?>
</div>
</div>
我们的帐户已在其iTunes Connect帐户中添加为应用管理器,但我们仍无法使用此ID获取输出。如果我们在Xcode中更改包ID,则不会显示此错误。
答案 0 :(得分:18)
转到“生成设置”选项卡,然后将“产品包标识符”更改为其他名称。它适用于我的。
答案 1 :(得分:14)
答案 2 :(得分:9)
在一台Mac上遇到相同的问题,但在另一台Mac上满足。 我确定捆绑包ID很好并且唯一。
我知道这是配置文件问题,所以 尝试刷新本地计算机上的配置文件。 然后就行了!
cd '~/Library/MobileDevice/Provisioning\ Profiles/'
rm *
Download Manual Profiles
答案 3 :(得分:3)
我遇到了与OP相同的问题,问题是仅在appstoreconnect上而不是在developer.apple.com上邀请我。在被邀请作为developer.apple.com的成员并进入XCode中的首选项之后,我有了一个新的选项来签名为组织的成员。在项目设置中将签名团队设置为组织成员可以解决此问题。之后,使用自动标牌管理成功创建了配置文件。
答案 4 :(得分:2)
更改捆绑包标识符对我有用。
如果仍然无法正常运行,请在执行以下步骤之前重试:
cd /Users/my_username/Library/MobileDevice/Provisioning Profiles && rm *
(在我的情况下)答案 5 :(得分:2)
以上所有答案均不适用于我,并且正如原始问题中所述,由于该应用程序已由客户在商店中发布,因此我还必须保留相同的捆绑包标识符。
对我来说,解决方案是要求客户端将我的访问权限从App Manager更改为Admin ,以便我拥有“对证书,标识符和配置文件的访问权限”。您可以检查是否 App Store Connect =>用户和访问权限=>中的案例,然后单击您的个人资料(如果您属于多个团队,请确保选择正确的团队)。
一旦您是管理员,请返回Xcode并在“签名”标签中选择“自动管理签名”,然后在“团队”下拉列表中,您应该能够选择合适的团队,并且签名将起作用。 < / p>
答案 6 :(得分:1)
如果即使清除了配置文件并重新下载它们后,这种情况仍然存在,则可能是由于Apple MDM推送证书中已经注册了捆绑ID。
答案 7 :(得分:1)
答案 8 :(得分:1)
当我尝试编译Apple提供的示例项目时,遇到了相同的问题。最后,我发现他们显然在将示例代码交付给开发人员之前就对其进行了预编译,因此二进制文件具有其签名。
解决方法很简单,只需删除所有构建的二进制文件,然后使用自己的捆绑包标识符重新编译,就可以了。
只需转到菜单栏,单击 [产品]-> [清洁构建文件夹] 即可删除所有已编译的二进制文件
答案 9 :(得分:1)
这发生在我身上,即使我已经在我的帐户中注册了Bundle ID。事实证明,大小写不同,因此我不得不将Xcode中的bundle id更改为小写,并且一切正常。希望对别人有帮助:)
答案 10 :(得分:1)
答案 11 :(得分:0)
通过取消分配给同一帐户ID的个人团队签名证书,我可以在捆绑的付费会员帐户上使用原始的捆绑包标识符。
如果您仍需要其他应用程序的证书,则此方法将无效。
答案 12 :(得分:0)
我在不同的开发团队中遇到了问题。我只是检查了模式签名,并为我需要的模式选择了正确的开发团队:
答案 13 :(得分:0)
我删除了https://developer.apple.com/account/resources/identifiers/list中的Bundle标识符,然后它起作用了。
答案 14 :(得分:0)
bundle id(app ID)和apple id有绑定关系(apple id是苹果开发账号,也属于某个开发团队)。创建app的时候,bundle id(app ID)已经和你关联了调试会报如上错误;
解决方案
答案 15 :(得分:0)
如果上述解决方案均无效,您可能需要检查文件夹名称。我有另一个文件夹,在一个单独的父文件夹中,但共享一个祖先目录,与我的项目文件夹同名。将另一个文件夹重命名为其他文件夹解决了该问题。如果非要我猜的话,Xcode 是在父目录中寻找项目,找到了同名的备用文件夹,然后就糊涂了...
答案 16 :(得分:0)
答案 17 :(得分:0)
应用标识符“my.bundle.id”无法注册到您的开发团队,因为它不可用。将您的捆绑标识符更改为唯一字符串以重试。
试试这个
Apple developer > 帐户 > 证书、标识符和配置文件 > 标识符