升级iOS14以后发现项目报错了,提示
for “xxxxx” requires a development team. Select a development team in the Signing & Capabilities editor.”
有的第三方需要设置签名,遇到这种情况我们有以下四种解决办法
1.自己依次找到报错的第三方,自己设置签名和配置文件。这个不推荐,每次pod以后,都需要重新设置
2.设置自定义签名(根据当前的项目签名,自动配置第三方的签名)
这个方法比较推荐
在podfile文件的末尾加上
post_install do |installer|
# Get main project development team id
dev_team = ""
project = installer.aggregate_targets[0].user_project
project.targets.each do |target|
target.build_configurations.each do |config|
if dev_team.empty? and !config.build_settings['DEVELOPMENT_TEAM'].nil?
dev_team = config.build_settings['DEVELOPMENT_TEAM']
end
end
end
installer.pods_project.targets.each do |target|
if target.respond_to?(:product_type) and target.product_type == "com.apple.product-type.bundle"
target.build_configurations.each do |config|
config.build_settings['DEVELOPMENT_TEAM'] = dev_team
end
end
end
end
3.设置自定义签名(手动配置当前项目签名)
这个方法不灵活,不推荐,需要自己把teamId写上
在podfile文件的末尾加上
post_install do |installer|
installer.generated_projects.each do |project|
project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings["DEVELOPMENT_TEAM"] = " Your Team ID "
end
end
end
end
4.设置第三方不签名
这个方法从根源解决问题
在podfile文件的末尾加上
post_install do |installer|
installer.pods_project.targets.each do |target|
if target.respond_to?(:product_type) and target.product_type == "com.apple.product-type.bundle"
target.build_configurations.each do |config|
config.build_settings['CODE_SIGNING_ALLOWED'] = 'NO'
end
end
end
end