在开发了我的第一个iOS应用程序4个月之后,是时候将它提交给App Store了。我在iTunes Connect中创建了这个应用程序,填写了所有细节,并在Connect和Xcode中设置了正确的Bundle ID。然而,在过去的三天里,我一直在努力解决这个奇怪的问题。看起来xcode是在上传Cocoapods框架,而不是我的主要应用程序。
归档之后,我去了Window > Organizer > Validate...。我看到以下屏幕:

错误:

(对于谷歌员工:没有找到合适的申请记录。验证您的包标识符'org.cocoapods.Alamofire‘是否正确)。
错误消息表明它试图根据框架的名称来匹配Bundle ID,而不是我自己的包(例如com.organization.AppName)。我哪儿都找不到答案。我尝试在我的Podfile (它有use_frameworks!)以及不同的conf组合中执行以下操作,但没有成功。
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


问题:
Xcode试图匹配framework's bundle id而不是我的主要应用程序?编辑1:我能够克服这个问题,但这导致了另一个问题,所以我仍然没有一个解决方案。基本上,Alamofire Pod (来自Cocoapods)有一个包id com.xxx.Alamofire。我把它改成了com.xxx.myAppName。这样,我就能够将它发送到App,但是由于以下错误,我无法从iPhone从TestFlight安装应用程序:
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}发布于 2016-04-22 21:48:12
经过很长一段时间的努力,我才能让它运转起来。基本上,只有阿拉莫火提出了这个问题。我所做的是:
com.company.appName,请在其中写入com.company.appName.Alamofire。我尝试了com.company.appName的框架,com.company.Alamofire,什么都没成功。
发布于 2016-08-30 20:38:07
当我试图将应用程序提交给iTunes连接时,我收到了这个准确的错误:“没有找到合适的应用程序记录。请确认您的包标识符'org.cocoapods.Alamofire‘是正确的”。
我最终通过将Bundle OS类型代码更改为APPL来修复它。
发布于 2016-10-14 21:54:53
对我来说是完美的。我刚刚将Info.plist右击为“源代码”,并将<key>CFBundlePackageType</key>更改为字符串APPL。
<key>CFBundlePackageType</key>
<string>APPL</string>https://stackoverflow.com/questions/36511359
复制相似问题