自动签名无法解决" projectName"目标的权利文件

时间:2017-05-15 06:43:03

标签: ios xcode ionic2 provisioning-profile ionic3

我是mac的新手,我收到的错误如下image

我应该怎样做我已经购买了开发者许可证并且我创建了配置证书,但我仍然面临这个问题。我不知道为什么我会收到这个错误的任何帮助。

  

我已按照此YouTube链接创建配置文件和发布配置文件https://www.youtube.com/watch?v=Xh2nnjttOwo&t=367s

更新

在更新img

之后的构建设置之后

我收到了像img

这样的新错误

13 个答案:

答案 0 :(得分:41)

我在使用推送通知的项目中遇到了同样的问题,我所做的就是修复它:Target->功能并启用推送通知。fix

答案 1 :(得分:30)

我能够通过删除计算机上的所有临时文件(~/Library/MobileDevice/Provisioning Profiles)并重新启动Xcode来解决此问题。

答案 2 :(得分:20)

我能够通过打开推送通知然后再将其关闭来解决同一问题。

不确定为什么可以使用,但是在Xcode 9.4.1和Xcode 10 Beta中,此修复程序仍然有效。

更新:它适用于Xcode 10.1和10.2

答案 3 :(得分:12)

Xcode 9和Xcode 10可能会弹出此错误,因为它正在寻找目标的授权文件。您可以在目标的“功能”选项卡中打开“推送通知”,然后将其关闭以为构建创建一个空的授权文件,然后该错误消失。

答案 4 :(得分:5)

public class CustomPageAdapter extends PagerAdapter { private Context mContext; public CustomPageAdapter(Context context){ mContext = context; } @Override public Object instantiateItem(ViewGroup container, int position) { ModelObject modelObject = ModelObject.values()[position]; LayoutInflater inflater = LayoutInflater.from(mContext); ViewGroup layout = (ViewGroup) inflater.inflate(modelObject.getLayoutResId(),container,false); container.addView(layout); return layout; } @Override public void destroyItem(ViewGroup container, int position, Object object) { container.removeView((View) object); } @Override public int getCount() { return ModelObject.values().length; } @Override public boolean isViewFromObject(View view, Object object) { return view == object; } @Override public CharSequence getPageTitle(int position) { ModelObject customPagerEnum = ModelObject.values()[position]; return mContext.getString(customPagerEnum.getTitleResId()); } } 下,将Code Signing Identity部分的iPhone Distribution更改为iPhone Developer

答案 5 :(得分:1)

我遇到了这个问题,因为无论我做什么,XCode都没有为Objective-C项目生成权利文件。我通过执行以下操作解决了该问题:

  1. 在项目的根目录($ SRC_ROOT)创建一个空文件。
  2. 粘贴空白权利文件模板
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
</dict>
</plist>
  1. 将其另存为YourAppName.entitlements
  2. 转到构建设置->签名->代码签名权利,然后输入权利文件的路径-在我的情况下为$(SRCROOT)/YourAppName.entitlements

此后,您可能需要重新生成配置文件(请参阅上面的@Jim Bak的答案)。

答案 6 :(得分:1)

对于2020 ..

令人难以置信的是,Apple仍未从Xcode 11开始修复此问题...

通常的解决方法是上面的@CodeBrew解决方案:

”在目标的“功能”标签中打开“推送通知”,然后将其关闭...此错误消失了。

就这么简单(通常)。

答案 7 :(得分:0)

我对iPhone开发也很新,与离子项目有同样的问题。 我执行了离子cordova平台添加ios,将XCode导航到离子生成的平台/ ios /,检查了包ID,将我的Apple开发者ID与此应用相关联,让XCode管理我的签名证书和配置文件并立即解决问题。

因此,我使用相同的Bundle标识符和Apple开发人员团队值创建了一个XCode生成的项目,这一切都很酷。这证明我的Apple Id和证书很好。

我比较了XCode建筑设置(全部)下的代码签名值,在我的例子中,问题是调试版代码签名权利文件的内容,这表明我没有设置aps-environment东西正常。

答案 8 :(得分:0)

我取消选中并重新检查&#34;自动管理签名&#34; (在&#34; General&#34;标签上)解决了这个问题。

答案 9 :(得分:0)

我在多平台项目(iOS / macOS)上遇到了同样的问题。在我的情况下,问题是由于iOS和macOS应用程序的Code Signing Entitlements构建设置所引用的macOS应用程序中的同一Entitlements.plist文件所致。因此,要解决此问题,我为iOS创建了一个空的Entitlements.plist,并使iOS构建设置引用了此文件。

答案 10 :(得分:0)

对我来说,答案是打开然后关闭“功能”页面中所有目标的至少一件事。应用,观看和观看扩展程序。即使我已经拥有了与xCode创建的内容完全匹配的授权文件,但是在重新生成文件时,其他内容还是发生了变化。

答案 11 :(得分:0)

我在Xcode 10.2中遇到了同样的问题。我注意到当我切换到模拟器设备而不是测试设备时,错误消失了。因此,我复制了权利文件的源代码,以防万一我需要重新创建它并删除它的内容。我在第一个物理连接的测试设备上进行了构建。它使我在创建版本时输入了40次左右的mac密码,但随后将信息重新添加到权利文件中,错误消失了。开启和关闭通知均无效,在任何配置下都无法向开发人员帐户添加功能。

答案 12 :(得分:0)

在Xcode 11上,请确保删除以下行:

<key>BuildSystemType</key>
<string>Latest</string>

似乎只有在存在两种不同的构建类型时才需要这样做,而现在它只是破坏了建筑物。