在开发了我的第一个 iOS 应用程序 4 个月后,是时候将它提交到App Store
. 我在 中创建了应用程序,填写了所有详细信息,并在和中iTunes Connect
设置了正确的。但是,过去 3 天我一直在努力解决这个奇怪的问题。似乎 xcode 正在尝试上传框架,而不是我的主应用程序。Bundle ID
Connect
Xcode
Cocoapods
存档后,我去了Window > Organizer > Validate...
. 我看到以下屏幕:
错误:
(对于 googlers:没有找到合适的应用程序记录。验证您的包标识符“ org.cocoapods.Alamofire
”是否正确)。
错误消息表明它正在尝试Bundle ID
根据框架的名称匹配 a,而不是我自己的包(例如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
要匹配 aframework's bundle id
而不仅仅是我的主应用程序? - 我怎样才能克服这个问题最终提交我的应用程序?
编辑1:我能够解决这个问题,但是后来又引起了另一个问题,所以我仍然没有解决方案。基本上,Alamofire Pod(来自 Cocoapods)有一个 bundle id com.xxx.Alamofire
。我把它改成了com.xxx.myAppName
. 有了这个,我可以将它发送到 App Store,但是由于以下错误,我无法从 TestFlight 在我的 iPhone 中安装该应用程序:
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}