eye*_*eed 9 xcode objective-c ios cocoapods swift
我在这里的初步讨论中粘贴了我的最后一篇文章:
https://github.com/CocoaPods/CocoaPods/issues/4331
这个问题已经存在了将近一年,但仍未找到适当的解决方案.
建设时:
Code Sign error: Provisioning profile does not match bundle identifier: The provisioning profile specified in your build settings (“MyDistributionProfileName”) has an AppID of “com.myorg.myapp” which does not match your bundle identifier “org.cocoapods.PureLayout”.
Run Code Online (Sandbox Code Playgroud)
注意!使用(在mypod.podspec文件中)将PureLayout作为依赖项添加到我的pod中:
s.dependency 'PureLayout', '3.0.2'
这是我的Pod的整个podspec文件:
Pod::Spec.new do |s|
s.name = 'MyPod'
s.version = '1.2.34'
s.license = { :type => "MIT", :file => "LICENSE" }
s.homepage = 'https-:-//bitbucket.org/XXXX123/my-pod'
s.authors = { "AuthorName" => "author@myorg.com" }
s.summary = 'This isa a cocoa pod that contains the MY framework.'
s.source = { :git => "https-:-//bitbucket.org/XXXX123/my-pod", :tag => "#{s.version}" }
s.ios.deployment_target = '8.0'
s.source_files = 'MyPod/**/*.{swift,h}'
s.resource = 'MyPod/*'
s.pod_target_xcconfig = { 'ENABLE_BITCODE' => 'NO', 'ONLY_ACTIVE_ARCH' => 'NO'}
s.dependency 'PureLayout', '3.0.2'
end
Run Code Online (Sandbox Code Playgroud)
笔记:
暂停使用CocoaPods不是一种选择.
使用@DimaVartanian修复程序会导致类似@mgrebenets遇到的类似错误
错误ITMS-90035 无效签名.代码对象根本没有签名.确保您已使用分发证书(而非临时证书或开发证书)对您的应用程序进行了签名.验证Xcode中的代码签名设置在目标级别是否正确(覆盖项目级别的任何值).此外,请确保您上传的软件包是使用Xcode中的Release目标而不是Simulator目标构建的.如果您确定您的代码签名设置正确,请在Xcode中选择"全部清除",删除Finder中的"构建"目录,然后重建您的发布目标.有关详细信息,请参阅https - : - /developer.apple.com/library/ios/documentation/Security/Conceptual/CodeSigningGuide/Introduction/Introduction.html"
错误ITMS-90171无效的包结构 - 不允许使用二进制文件"XApp.app/Frameworks/X.framework/XView.o".除了支持的捆绑包的CFBundleExecutable之外,您的应用程序不能包含独立的可执行文件或库.有关iOS应用程序包结构的信息,请参阅https - : - // developer.apple.com/go/?id=bundle-structure上的"捆绑编程指南".
我的项目也使用PushNotifications,因此不能使用任何通配符配置文件.
这是我建造建筑物的健身房线
gym --clean --scheme ${XCODE_PROJECT_TARGET_NAME} --configuration Release --include_bitcode false --archive_path ${BUILDS_DIR}${PACKAGE_NAME}.xcarchive --output_directory $BUILDS_DIR --output_name "${PACKAGE_NAME}.ipa" --xcargs PROVISIONING_PROFILE=$APP_PROVISION_UUID
Run Code Online (Sandbox Code Playgroud)
应用@DimaVartanian修复时,此行无任何错误,但如上所述,在上载过程中会导致 ERROR ITMS-90035和ERROR ITMS-90171.
这是我上传构建的试验线:
pilot upload --skip_submission --username ${APPLE_ID_USERNAME} --team_id ${APPLE_ITUNES_CONNECT_TEAM_ID} --verbose --ipa ${BUILDS_DIR}${PACKAGE_NAME}.ipa --skip_waiting_for_build_processing true
Run Code Online (Sandbox Code Playgroud)我还可以确认使用xcode进行构建/存档/上传时存在同样的问题.
将此添加--export_options "ExportOptions.plist"
到健身房命令行,没有任何区别.尝试通过xcargs也失败了--xcargs "PROVISIONING_PROFILE=$APP_PROVISION_UUID exportOptionsPlist=$EXPORT_OPTIONS_PLIST"
.
该文件的内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>teamID</key>
<string>TEAMID123</string>
<key>uploadSymbols</key>
<string>NO</string>
<key>compileBitcode</key>
<false/>
<key>uploadBitcode</key>
<false/>
<key>method</key>
<string>app-store</string>
</dict>
</plist>
Run Code Online (Sandbox Code Playgroud)我希望CocoaPods团队能够迅速解决这个问题.
简而言之 - 失败的是以下序列的结束:
我稍后会尝试添加一个示例项目来演示该问题.
好吧,所以这次我用自己的方式解决了这个问题。与往常一样,解决方案比想象的要容易。
这次 bugger 错误 ERROR ITMS-90171 的原因是 podspec 文件中的指令。
这个:s.resource = 'MyPod/*'
不知道我是怎么错过的,但“MyPod/*”字面意思是,包括 MyPod 目录中的所有内容,除了图形资源之外还包含 *.swift 文件。
因此,通过将该行更改为:s.resource = 'MyPod/Graphics.xcassets'
解决了问题。不再出现错误 ITMS-90171。
然而,在这里我们仍然必须接受一种解决方法(由 @DimaVartanian 提出),该解决方法修复了 cocoapods 提供的框架的代码签名要求。
修复本身就是将此代码添加到基础项目的“Podfile”中:
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
Run Code Online (Sandbox Code Playgroud)
这将(在“pod install”之后)遍历项目中的所有 pod 目标,并通过更改某些设置来删除代码签名要求,如您在代码中看到的那样。
有一些传言称,升级到 XCode 8 后将不再需要此解决方法。我尚未找到对此的任何官方确认,但我希望这是真的。
归档时间: |
|
查看次数: |
1449 次 |
最近记录: |