Xcode trying to match frameworks bundle ID when up

2019-02-16 05:23发布

问题:

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}

回答1:

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.



回答2:

Just experienced this issue with the following error displayed when attempting to upload to the App Store.

iTunes Store operation failed.

No suitable application records were found. Verify your bundle identifier 'org.cocoapods.Alamofire' is correct

We encountered this when attempting to upload (whilst using Cocoapods) and failing to find a fix, took the drastic action of removing Cocoapods from our project entirely and instead manually added each pod as a framework.

And...... the upload to the App Store still failed with basically the same error!