简体   繁体   English

签署iOS App:App ID无法注册到您的开发团队

[英]Signing iOS App: App ID Cannot be Registered to Your Development Team

I need to replace a deployed iOS native app with a new Ionic3 / Cordova hybrid app.我需要用新的 Ionic3/Cordova 混合应用程序替换已部署的 iOS 本机应用程序。 The new hybrid app builds successfully (on macOS Sierra 10.12.6) but I can't sign the app (so that it can be uploaded to the app store).新的混合应用程序成功构建(在 macOS Sierra 10.12.6 上),但我无法签署该应用程序(以便它可以上传到应用程序商店)。

As a first step, I'm focused on getting the new app on the app store (as alpha to test with TestFlight).作为第一步,我专注于在应用商店中获取新应用(作为 alpha 以使用 TestFlight 进行测试)。 I've removed all "development" certificates/profiles from developer.apple.com.我已经从 developer.apple.com 中删除了所有“开发”证书/配置文件。

There's a lot of information/questions/answers on the web about signing apps.网络上有很多关于签署应用程序的信息/问题/答案。 I've spent a couple of days on this issue and cannot get it to work no matter what I read or what I try.我已经在这个问题上花了几天时间,无论我阅读什么或尝试什么,都无法让它发挥作用。

The current iOS app code (deployed)当前的 iOS 应用代码(已部署)

In Info.plist, $(PRODUCT_BUNDLE_IDENTIFIER)在 Info.plist 中,$(PRODUCT_BUNDLE_IDENTIFIER)

In /bbh.xcodeproj/project.pbxproj, PRODUCT_BUNDLE_IDENTIFIER = "NSP.BBH-Mobile";在 /bbh.xcodeproj/project.pbxproj 中,PRODUCT_BUNDLE_IDENTIFIER = "NSP.BBH-Mobile";

Re-create development provision重新创建开发条款

  1. Open Keychain.打开钥匙串。 Delete all developer/iPhone certificates.删除所有开发人员/iPhone 证书。 Delete all keys.删除所有键。

  2. On developer.apple.com, delete development certificate and development provisioning profiles.在 developer.apple.com 上,删除开发证书和开发配置文件。

  3. Confirm my iPhone device is registered with the correct UDID.确认我的 iPhone 设备注册了正确的 UDID。

  4. In Keychain, generate a certificate signing request file.在 Keychain 中,生成证书签名请求文件。

  5. In developer.apple.com, create a development certificate, upload the certificate signing request generated in the previous step, download the certificate .cer file.在developer.apple.com,创建开发证书,上传上一步生成的证书签名请求,下载证书.cer文件。

  6. Double click on the .cer file.双击 .cer 文件。 Keychain opens.钥匙扣打开。 Choose to add to "log in".选择添加到“登录”。

  7. In Keychain > certificates, choose export, specify the strong password.在钥匙串 > 证书中,选择导出,指定强密码。 Certificates.p12 file will be generated.将生成 Certificates.p12 文件。

  8. In developer.apple.com, create a development provisioning profile.在 developer.apple.com 中,创建一个开发配置文件。 Choose "iOS App Development".选择“iOS 应用开发”。 Choose an App ID ... but which one?选择一个 App ID ......但选择哪一个?

    App IDs in developer.apple.com BBH Mobile = com.bbh.* BBH Mobile = NSP.BBH-Mobile Xcode iOS Wildcard App ID = * developer.apple.com 中的应用 ID BBH Mobile = com.bbh.* BBH Mobile = NSP.BBH-Mobile Xcode iOS 通配符应用 ID = *

    Notice on-screen reads: "If you plan to use services such as Game Center, In-App Purchase, and Push Notifications, or want a Bundle ID unique to a single app, use an explicit App ID. If you want to create one provisioning profile for multiple apps or don't need a specific Bundle ID, select a wildcard App ID. Wildcard App IDs use an asterisk (*) as the last digit in the Bundle ID field. Please note that iOS App IDs and Mac App IDs cannot be used interchangeably."屏幕上的通知显示:“如果您打算使用游戏中心、应用内购买和推送通知等服务,或者想要单个应用程序唯一的捆绑 ID,请使用明确的应用程序 ID。如果您想创建一个为多个应用程序配置配置文件或不需要特定的 Bundle ID,请选择通配符 App ID。通配符 App ID 使用星号 (*) 作为 Bundle ID 字段中的最后一位数字。请注意 iOS App ID 和 Mac App ID不能互换使用。”

    We need push notifications so choose an explicit App ID = AYW4J8P7X3.NSP.BBH-Mobile app id = team id (generated by apple) + bundle id (supplied by the user) It makes sense to choose this App ID which includes the bundle id of the iOS currently deployed.我们需要推送通知,所以选择一个明确的 App ID = AYW4J8P7X3.NSP.BBH-Mobile app id = team id(由苹果生成)+ bundle id(由用户提供)选择这个包含 bundle id 的 App ID 是有意义的当前部署的iOS。 https://www.screencast.com/t/C0QdPdxwh09t https://www.screencast.com/t/C0QdPdxwh09t

    Choose a development certificate (just created), choose all devices.选择开发证书(刚刚创建),选择所有设备。

  9. Download the development profile and double click to install (in Xcode).下载开发配置文件并双击安装(在 Xcode 中)。

Double-clicking doesn't seem to do anything?双击似乎没有任何作用? How do I know it's installed in Xcode correctly?我怎么知道它是否正确安装在 Xcode 中? Do I need the .mobileprovision file on my iPhone?我的 iPhone 上需要 .mobileprovision 文件吗? The mac server is in the cloud so I don't have my iPhone connected via USB to the mac. mac 服务器在云端,所以我的 iPhone 没有通过 USB 连接到 mac。

  1. Open Xcode.打开 Xcode。 Confirm my apple account added in Xcode > Preferences > Accounts.确认在 Xcode > Preferences > Accounts 中添加了我的 Apple 帐户。 In the project, targets, signing, click "Automatically manage to sign".在项目、目标、签名中,点击“自动管理签名”。

  2. Choose my personal team.选择我的个人团队。 The following errors are displayed:显示以下错误:

    在此处输入图片说明

    Error 1: The app ID "NSP.BBH-Mobile" cannot be registered to your development team.错误 1:应用 ID“NSP.BBH-Mobile”无法注册到您的开发团队。 Change your bundle identifier to a unique string to try again.将您的捆绑标识符更改为唯一字符串以重试。

    Why does it prompt to change bundle id?为什么会提示更改bundle id? Isn't it standard to have one app id and to generate both a debug/development and release?拥有一个应用程序 id 并生成调试/开发和发布不是标准的吗?

    Error 2: No profiles for 'NSP.BBH-Mobile' were found Xcode couldn't find any iOS App Development provisioning profiles matching 'NSP.BBH-Mobile'.错误 2:未找到“NSP.BBH-Mobile”的配置文件 Xcode 找不到任何与“NSP.BBH-Mobile”匹配的 iOS 应用开发配置文件。

But we just created a new development provision and selected App ID = NSP.BBH-Mobile.但是我们刚刚创建了一个新的开发条款并选择了 App ID = NSP.BBH-Mobile。 Why doesn't Xcode recognize this?为什么 Xcode 不能识别这一点?

您可以尝试取消选择Automatically manage signing并手动导入provisioning profile

These are the steps I took to finally resolve this issue.这些是我最终解决此问题所采取的步骤。 It may not be optimal but it at least worked.它可能不是最佳的,但至少有效。

在此处输入图片说明 1. In Xcode, turn off automatically manage signing. 1.在Xcode中,关闭自动管理签名。 2. For signing (debug), select my development provision profile. 2. 对于签名(调试),选择我的开发配置文件。 3. For signing (release), create a production provision profile, then select the new production profile. 3. 对于签名(发布),创建一个生产供应配置文件,然后选择新的生产配置文件。

Notes/Observations:注释/观察:

  • Even though I only wanted to create a signed debug for testing it seems I still had to provide valid signed release provision too.尽管我只想创建一个签名调试来进行测试,但似乎我仍然必须提供有效的签名发布条款。
  • Even after deleting all keys/certificates etc. and starting from scratch it seems Xcode has created a certificate too.即使在删除所有密钥/证书等并从头开始之后,Xcode 似乎也创建了一个证书。 Annoying - it's difficult to tell who created what now.烦人 - 现在很难说是谁创造了什么。
  • There was no need to change the bundle ID from the original iOS native app being replaced.无需更改要替换的原始 iOS 本机应用程序的包 ID。
  • Creating a new production provision did not affect the existing production provision (which I could not use because I don't have the key).创建新的生产条款不会影响现有的生产条款(我无法使用,因为我没有密钥)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 该应用 ID 无法注册到您的开发团队 - The app ID cannot be registered to your development team Xcode 错误:“应用 ID 无法注册到您的开发团队。” - Xcode Error: "The app ID cannot be registered to your development team." XCode - 应用 ID“com.xxxxx.xxxxx”无法注册到您的开发团队 - XCode - The app ID “com.xxxxx.xxxxx” cannot be registered to your development team 应用程序ID myId无法注册到您的开发团队。 将您的包标识符更改为唯一字符串,然后重试 - The app ID myId cannot be registered to your development team. Change your bundle identifier to a unique string to try again 如何修复错误:“应用标识符“com.example.apple-samplecode.BreakfastFinder”无法注册到您的开发团队。 - How to fix the error: 'The app identifier “com.example.apple-samplecode.BreakfastFinder” cannot be registered to your development team.' Swift 4刚刚添加了WatchKit,但是无法注册到您的开发团队 - Swift 4 Just added WatchKit and got cannot be registered to your development team 未找到与团队 ID“*****”相匹配的“iOS 开发”签名证书和私钥 - No “iOS Development” signing certificate matching team ID “*****”with a private key was found Jenkins IOS应用程序失败致命:未配置全局开发团队或本地团队ID - Jenkins IOS App Getting failed FATAL: No global development team or local team ID was configured Xcode ios 应用开发代码签名 - Xcode ios app development code signing Xcode:此团队中没有带有ID的iOS App ID - Xcode: There is no iOS App ID with ID on this team
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM