IBDesignables,“找不到合适的图像”和“需要代码签名”的错误

10
我最近对Assets.xcassets进行了一些更改,这导致XCode出现了绝对混乱。我最终遇到了多个这种错误:Failed to render and update auto layout status for *MyViewController* (6jf-cd-DYU) dlopen (AFramework.framework, 1): no suitable image found. Did find: Aframework.framwork: required code signature missing for 'Aframework.framework',分别在.storyboard和.xib文件中出现。

Aframework 是我作为依赖项的多个Pod框架的占位符。在我修改xcassets之前,这些都运行良好。
我尝试了所有与此相关的内容,但是我没有任何进展:清除派生数据,运行clean/build,删除所有XCode缓存文件,完全重新安装XCode,刷新所有视图等。它可以编译和运行正常,在应用程序中一切正常工作(没有丢失任何图像或资源),但是我的所有故事板都是空白的(全部是白色的),这使得工作非常困难。
我还尝试了pod deintegrate,删除xcworkspace-file并重新安装pod(因为错误指向了一个Pod框架)。我还通过XCode吊销并重新发放了所有证书,因为它指向代码签名问题。
编辑:我完全重新安装了OSX并从一个工作配置的Git中克隆了repo。没有改变。这一定是除xcassets理论以外的其他问题,因为即使我检查几周前的提交(我确定那时候没有问题),我仍然会遇到错误。也许Apple在现在和上次它运行之间更新了某些内容。我已经放弃了并继续前进。我只需在左侧的资源管理器中单击视图即可,而不是在故事板中。希望有人能够在某个时刻找出这个问题的原因。
3个回答

12

这个问题看起来像是Cocoapods的bug,由于设置中的CODE_SIGNING_ALLOWEDCODE_SIGNING_REQUIRED键引起。

在pod文件的末尾添加以下代码将修复此问题(不要忘记运行pod install):

# Workaround for Cocoapods v.1.5 issue #7606
post_install do |installer|
    installer.pods_project.build_configurations.each do |config|
        config.build_settings.delete('CODE_SIGNING_ALLOWED')
        config.build_settings.delete('CODE_SIGNING_REQUIRED')
    end
end

9
这似乎与CocoaPods有关。1.5版本似乎存在与XCode 9.3的问题。我降级到了CocoaPods 1.4,问题就解决了。请参见GitHub上的这个帖子
编辑:此问题已经得到解决。最新版本的CocoaPods不再遇到此问题,所以您只需要更新即可。

1

我这里提供Igor的完整答案。

请不要降级cocoapods。相反,请按照以下方式修改pod文件。

#Replace 9.0 with your project ios version
platform :ios, '9.0'

target 'YourProject' do

frameworks
  use_frameworks!

  pod 'Alamofire', '~> 4.7'
  pod 'AlamofireObjectMapper', '~> 5.0'
  pod 'SDWebImage', '~> 4.0'

end

post_install do |installer|
    installer.pods_project.build_configurations.each do |config|
        config.build_settings.delete('CODE_SIGNING_ALLOWED')
        config.build_settings.delete('CODE_SIGNING_REQUIRED')
    end
end

这应该由 CocoaPods 修复,而不是由用户修复。在那之前,使用 1.4 是一个完全有效的解决方法。将此添加到您的 Podfile 中可能会在未来产生后果(也许在 CocoaPods 自己修复它之后)。只是为了反驳“请不要降级”。 - nickdnk

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接