库缺少必需的代码签名

时间:2016-10-18 14:03:37

标签: ios swift xcode8

我在Xcode 8中使用Swift 3.0并在运行我的应用时遇到此错误。我使用过第三方库SlideMenuController

当我运行我的应用程序时,我一次又一次地遇到此错误,但没有找到任何解决方案。

删除派生数据需要一段时间,但并非总是如此。

  

/Users/amsyt014/Library/Developer/CoreSimulator/Devices/8615687B-36F4-4367-9289-C265F3DABDD5/data/Containers/Bundle/Application/4794E2EF-863E-4836-A8E7-5A0F0ABA52E0/Shopaves.app/Frameworks/ SlideMenuControllerSwift.framework / SlideMenuControllerSwift:   缺少所需的代码签名   “/Users/amsyt014/Library/Developer/CoreSimulator/Devices/8615687B-36F4-4367-9289-C265F3DABDD5/data/Containers/Bundle/Application/4794E2EF-863E-4836-A8E7-5A0F0ABA52E0/Shopaves.app/Frameworks/SlideMenuControllerSwift。框架/ SlideMenuControllerSwift'

10 个答案:

答案 0 :(得分:25)

Podfile中的以下命令帮助了我:

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

答案 1 :(得分:24)

方法1

将以下代码添加到您的pod文件

BigInteger

方法2

执行以下步骤

  1. 从移动设备或模拟器中删除应用程序(无论您遇到此问题)。
  2. 在项目导航器中选择slideMenuController.framework,右键单击它,在Finder中单击显示。打开_CodeSignature文件夹并删除除CodeResources以外的所有文件。

  3. 关闭Xcode,打开终端并输入以下命令

    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
    

    这将从xcode中删除所有派生数据。

  4. 打开XCode,清理并运行应用程序。希望问题能得到解决。

答案 2 :(得分:11)

我的mac10.12.5和我有同样的问题。 Xcode 9, 在派生数据位置的现有数据似乎存在问题,因此最好通过以下方式删除您的派生数据:

XCode>Prefrences>Locations>click on arrow at Derived Data location & delete it.

或者通过在终端上编写此命令:确保您的xcode在应用程序中或您提到您的xcode位置:

rm -rf ~/Library/Developer/Xcode/DerivedData

现在打开XCode,运行应用程序。希望问题能得到解决。 祝你好运......

答案 3 :(得分:6)

我正在使用相同的库。以下是我为解决此问题所做的工作。

在xCode的项目文件夹/ p​​ods文件夹中找到SlideMenuControllerSwift.framework。转到查找器中的位置。

在框架内你会找到_CodeSignature文件夹。我在_CodeSignature文件夹中有大约5个文件。删除代码资源文件以外的所有文件。

清理构建项目并运行。

答案 4 :(得分:3)

我遇到了与Xcode版本8.0相同的问题,打开了“自动管理签名”功能。

其他解决方案是:

请参阅此问题:https://github.com/Carthage/Carthage/issues/1401

第二种解决方案可能适合您。

注意:请从此处~/Library/Developer/Xcode/DerivedData

删除派生数据

答案 5 :(得分:2)

我已将“ENABLE_BITCODE”设置为0

解决了我的问题

答案 6 :(得分:1)

我通过在我的Framework项目中的Build Setting - > Code Signing Identity下面设置一个配置文件来解决它。我的嵌入式框架(我自己框架中的另一个框架)被添加到构建阶段的“复制文件”部分。

HTH!

答案 7 :(得分:1)

只需删除设备上的派生数据和应用即可解决问题。如果这不起作用,请尝试打开/关闭自动签名。

答案 8 :(得分:0)

我在创建自己的框架时遇到此错误,并由Pods更新。

关闭 Automatically manage signing现在效果很好。

希望对你有所帮助!

答案 9 :(得分:0)

只需在Xcode首选项/位置中更改当前正在运行的正确Xcode版本即可。

Please refer this image for your reference