记一次App installation failed. An unknown error has occurred. 错误

从Github上clone了一份开源代码,使用了Cocoapods,用的却是老版的Podfile,参照最新版的Podfile进行了修改之后,可以运行,但是真机联机调试却出现App installation failed. An unknown error has occurred. 错误。

刚开始以为Xcode出问题了,Clean和删除Derived Data,重启Xcode都做了,还是一样的问题,测试其它项目运行竟然没有问题,所以可得结论:此项目一定有问题。

查看Device Log,有安装失败的日志,但并没有给出失败的原因;灵机一动试了一下模拟器运行,竟能正常启动,但是一点击屏幕就出现crash,然后看到日志里提示framework 没有签名,而这个framework是通过CocoaPods生成的,那么可能是Cocoapods相关的问题吗?

想把Podfile里use_frameworks!删掉,然而项目里使用了@import语法,删掉并不妥。
后来再对比了正常项目的Podfile,发现我修改的Podfile里少了下面几行:

if defined? installer_representation.project
    post_install do |installer_representation|
        installer_representation.project.targets.each do |target|
            target.build_configurations.each do |config|
                config.build_settings['ARCHS'] = 'armv7 arm64'
                config.build_settings['VALID_ARCHS'] = 'armv7 arm64'
                config.build_settings['ONLY_ACTIVE_ARCH'] = 'NO'
            end
        end
    end
end
  
if defined? installer_representation.pods_project
    post_install do |installer_representation|
        installer_representation.pods_project.targets.each do |target|
            target.build_configurations.each do |config|
                config.build_settings['ARCHS'] = 'armv7 arm64'
                config.build_settings['VALID_ARCHS'] = 'armv7 arm64'
                config.build_settings['ONLY_ACTIVE_ARCH'] = 'NO'
            end
        end
    end
end

再重新pod install,真机运行,居然就好了

参考:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 项目组件化、平台化是技术公司的共同目标,越来越多的技术公司推崇使用pod管理第三方库以及私有组件,一方面使项目架构...
    swu_luo阅读 22,300评论 0 39
  • 静态库与动态库的区别 首先来看什么是库,库(Library)说白了就是一段编译好的二进制代码,加上头文件就可以供别...
    吃瓜群众呀阅读 12,089评论 3 42
  • CocoaPods 是什么? CocoaPods 是一个负责管理 iOS 项目中第三方开源库的工具。CocoaPo...
    朝洋阅读 25,746评论 3 50
  • 什么是事件冒泡 微软提出了名为事件冒泡的事件流,事件会从最内层的元素开始发生,一直向上传播,直到根节点举例说一下吧...
    小m_up阅读 387评论 0 0
  • 在这城市里我相信一定会有那么一个人,想着同样的事情,怀着相似的频率,在某站寂寞的出口,安排好了与我相遇。
    SpringSunshine明阅读 186评论 0 0