在将iOS应用程序上传到App Store时,Xcode尝试匹配框架捆绑ID [英] Xcode trying to match frameworks bundle ID when uploading iOS app to App Store

查看:1342
本文介绍了在将iOS应用程序上传到App Store时,Xcode尝试匹配框架捆绑ID的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

开发我的第一个iOS应用程序4个月后,是时候将它提交到 App Store 。我在 iTunes Connect 中创建了应用程序,填写了所有细节,在<$ c中设置了正确的 Bundle ID c $ c>连接和 Xcode 。但是,过去3天我一直在努力解决这个奇怪的问题。好像xcode试图上传 Cocoapods 框架,而不是我的主应用程序。



归档后,我去了窗口>组织者>验证... 。我看到以下屏幕:





错误:







问题:




  • 我的步骤是正确的吗?

  • 为什么 Xcode 尝试匹配框架的包ID 而不仅仅是我的主应用程序?

  • 我怎样才能得到过去这个问题最终提交我的应用程序?



编辑1:我能够解决这个问题,但是帽子后来又引起了另一个问题,所以我仍然没有解决方案。基本上,Alamofire Pod(来自Cocoapods)的包ID com.xxx.Alamofire 。我将其更改为 com.xxx.myAppName 。有了这个,我能够将它发送到App Store,但由于以下错误,我无法从TestFlight在我的iPhone中安装该应用程序:

  4/22/16,12:50:29 AM itunesstored [124]:[ApplicationWorkspace]:无法安装应用程序:com.xxx.myAppName;在/ var /移动/媒体/下载/ 5927832272594571027 / -6969961974973998640; Error Domain = LaunchServicesError Code = 0(null)UserInfo = {Error = DuplicateIdentifier,ErrorDescription =父包具有与/ private / var / installd / Library / Caches中的子包相同的标识符(com.xxx.myAppName) /com.apple.mobile.installd.staging/temp.IVHCuO/extracted/Payload/MyApp.app/Frameworks/Alamofire.framework} 


解决方案

经过一段时间的努力,我才能让它发挥作用。基本上,只有Alamofire提出这个问题。这就是我的所作所为:


  1. 导航器中,点击 Pods

  2. 目标下,您会看到您的应用正在使用的所有框架。

  3. 点击 Alamofire (或导致问题的框架)。

  4. 编辑捆绑标识符。如果您的应用Bundle Id是 com.company.appName ,请在其中写入 com.company.appName.Alamofire

我为框架尝试了 com.company.appName com.company.Alamofire ,没有任何效果。


After 4 months developing my first iOS app, it's time to submit it to the App Store. I created the app in iTunes Connect, filled in all the details, set up the correct Bundle ID in both Connect and Xcode. However, I've struggled the last 3 days trying to solve this weird problem. It seems like xcode is trying to upload Cocoapods frameworks, not my main app.

After archiving, I went to Window > Organizer > Validate.... I see the following screen:

The error:

(For googlers: No suitable application records were found. Verify your bundle identifier 'org.cocoapods.Alamofire' is correct).

The error message indicates that it's trying to match a Bundle ID according to a framework's name, not my own bundle (e.g com.organization.AppName). I can't find answers anywhere. I tried doing the following in my Podfile (which has use_frameworks!), as well as my different conf combinations but had no success.

post_install do |installer|
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|

      config.build_settings['EXPANDED_CODE_SIGN_IDENTITY'] = ""
      config.build_settings['CODE_SIGNING_REQUIRED'] = "NO"
      config.build_settings['CODE_SIGNING_ALLOWED'] = "NO"
    end
  end
end

Questions:

  • Are the steps I'm making correct?
  • Why is Xcode trying to match a framework's bundle id instead of just my main application?
  • How can I get past this problem to finally submit my app?

EDIT 1: I was able to get past this problem, but that caused another problem later, so I still don't have a solution. Basically, Alamofire Pod (from Cocoapods) has a bundle id com.xxx.Alamofire. I changed it to com.xxx.myAppName. With that, I was able to send it to the App Store, however I can't install the app in my iPhone from TestFlight due to the following error:

4/22/16, 12:50:29 AM itunesstored[124]: [ApplicationWorkspace]: Failed to install application: com.xxx.myAppName; /var/mobile/Media/Downloads/5927832272594571027/-6969961974973998640; Error Domain=LaunchServicesError Code=0 "(null)" UserInfo={Error=DuplicateIdentifier, ErrorDescription=The parent bundle has the same identifier (com.xxx.myAppName) as sub-bundle at /private/var/installd/Library/Caches/com.apple.mobile.installd.staging/temp.IVHCuO/extracted/Payload/MyApp.app/Frameworks/Alamofire.framework}

解决方案

After quite some time struggling with this, I was able to make it work. Basically, only Alamofire was presenting this issue. Here's what I did:

  1. In the Navigator, click in Pods.
  2. Under Targets you will see all the frameworks your app is using.
  3. Click on Alamofire (or the framework that is causing the issue).
  4. Edit the Bundle Identifier. If your app Bundle Id is com.company.appName, write com.company.appName.Alamofire in it.

I tried com.company.appName for the framework, com.company.Alamofire, nothing worked.

这篇关于在将iOS应用程序上传到App Store时,Xcode尝试匹配框架捆绑ID的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆