最近进入一家新公司,接手了一个之前由外包公司承接的项目。首先吐槽一下项目质量,哎毕竟也憋了很久了。

  1.上手项目是打不开的,所有framework静态库全体飘红,一编译七八十错误。最终是偷懒还是什么就不得而知了。最终慢慢一个个的将静态库framework导入Building Phases中,其中又发生了很多意想不到的错误。若有人对此有兴趣我们可以下次再聊这些问题。

  2.项目代码分类封装问题。项目是用Swift写的,而我之前使用的较多的是Objective-C,Swift用的不多,对Swift的印象就是:一升级Xcode就满屏红点;各类三方库都需要用桥来连接;等等等等诸如此类问题吧。当然这并不是主要槽点,毕竟Swift是个大趋势,iOS开发人员向前看的话,Swift是必须要了解熟悉到精通的。但似乎目前直接全盘用Swift来写的公司并不多,大多数都是OC慢慢向Swift转换吧。直接用Swift写项目,一定是大神。抱着这样欣赏的眼光我开始看代码。然后我恨不得为刚才自己的判断抽自己两巴掌。

  所有代码都没有分类,除了大的MVC框架,底下的各个小模块的控制器都混在一个目录下。然后类的命名上,首字母大小写不分,直接汉语拼音这种kongtiaoController都出来了。我天对我个强迫症这简直要亲命好吗。一周工作进度没多少,全给分辨各式各样莫名其妙的类名、方法名参数上去了。

  代码的封装问题。例子:项目是用Post请求数据,参数在上传前需要MD5加密,大概30行代码左右。一般这种哪个类里面都有可能用到的代码,写个工具类来执行就完事儿了,代码看着省心,复用率高。可人偏不,每一页都复制粘贴一下,就改一个参数,其他都不改原封不动复制粘贴。第一次看到有种砸电脑的冲动,我想大家都懂。

  大概就扯这么多吧。不管怎么样,拿着老板的钱,就看代码呗。昏天黑地改了一周代码后,老板说,打包上传吧。我说先做个真机测试吧,老板一挥手,去吧。我就回来准备用五分钟真机测试下就打包,结果就出现了如下的问题:在Build Success,真机打开启动页后,程序崩溃,提示如下:

  因为是解决了办法才来写博文,之前也没有截图问题,现在也不敢乱改回去了。我的错误就是log中Pods.framework换成SwiftHTTP。看到之后真心内心是崩溃的。这什么鬼?SwiftHTTP本身就不是我多么熟悉的框架,再加上并不知道具体是什么原因导致的这个问题。得,Google吧。

  最终大概出现了这些解决办法:

  1.clean&run,不行重启手机clean&run

    目测某些大神人品摆平一切,我这儿什么都没有发生。要多扶老奶奶了。

  2.Build Phases中重新导入SwiftHTTP

    什么都没有发生。

  3.SwiftHTTP的Required换成Optional可选

    这是提及频率最高的办法了,也有好多人似乎用这个方法成功解决了问题。大概解释是使用的框架不支持低的版本,所以设置成可选来配置是否可用。

    哎这是个想法,顿时我就去看了我的Deployment Target,是9.0。难道是这儿的问题?

    首先,9.0换成9.3,安装,继续崩溃。

    Required换成Optional,编译报错,具体问题忘了,大概就是link不到框架。

    9.3换成9.0,编译继续报错。哎放弃了。

  4.在某个角落发现了这么不起眼的一句话:DFULibrary.framework静态库是添加在Embedded Binaries下面的

    当然那个答主是将Embedded Binaries里面的framework转移到Build Phases中,而我当时除了SwiftHTTP其余的几个静态库都在Embedded Binaries中存在。难道是这个问题?

    试着在Embedded Binaries中导入SwiftHTTP,运行,崩溃。哎我又去设置Required和Optional了,却意外发现Build Phases中存在两个SwiftHTTP。难道Embedded Binaries中会自动导入Build Phases?我试着删除,成功运行。

  五分钟的真机测试弄了一整天左右吧。哎碰到这种不知所云的崩溃真是没什么办法。

  至今仍不知道为什么会这样,这也只是解决办法,原理求大神告知吧。

iOS真机测试中出现dyld`dyld_fatal_error错误的更多相关文章

  1. IOS真机测试

    学习了两天的Android开发,我感觉Android开发跟IOS开发和.NET平台下的开发有点不同,Android开发我更觉得跟web(Html)倒是有类似的地方,都是节点标签显示的,当然个人理解,感 ...

  2. iOS真机测试,为Provisioning添加设备 -- based xcode6[原]

    iOS真机测试,  我们需要添加几台新的设备进行测试.我们只需要对Provisioning Profiles 进行更新. 1. 在苹果开发者中心添加测试设备 打开苹果Certificates, Ide ...

  3. Unity导出iOS真机测试教程

    原地址:http://unity3d.9tech.cn/news/2014/0410/40177.html 学 习了两天的Android开发,我感觉Android开发跟IOS开发和.NET平台下的开发 ...

  4. Xamarin.iOS真机测试报错

    Xamarin.iOS真机测试报错   错误信息:The MinimumOSVersion inside Info.plist does not include the device version( ...

  5. iOS 真机测试错误“The application bundle does not contain a valid identifier”

    iOS 真机测试错误"The application bundle does not contain a valid identifier" 真机测试的时候报错:"The ...

  6. iOS 真机测试错误“The application could not be verified”

    iOS 真机测试错误"The application could not be verified" 真机测试的时候报错:"The application could no ...

  7. 关于微信小程序开发环境苹果IOS真机预览报SSL协议错误问题解决方案

                              微信小程序开发环境苹果IOS真机预览报SSL协议错误问题 原文来自:https://blog.csdn.net/qq_27626333/articl ...

  8. IOS真机测试(用证书进行真机测试)

    真机测试需要准备 1.证书 2.Iphone或者Ipad 3.到developer.apple.com注册开发者账号(不用money的) ------------------------------- ...

  9. ios 真机测试与发布详细流程,基于最新的开发者网站,ios7,xcode5(有截图的哦)[[[第一部分真机测试]]]

    转载于:http://blog.csdn.net/lv_ruanruan/article/details/14446597 真机测试及发布详细流程,最新版 第一次一个人搞一个项目,我们老大规定,一个周 ...

随机推荐

  1. 戏说HTML5(转)

    如果有非技术人员问你,HTML5是什么,你会怎么回答? 新的HTML规范... 给浏览器提供了牛逼能力,干以前不能干的事...(确切地说应该是给浏览器规定了许多新的接口标准,要求浏览器实现牛逼的功能. ...

  2. mysql 取出的日期数据缺少时分秒

    项目使用的数据库是mysql  持久层框架是hibernate  利用SQLQuery 获取日期的时候缺少时分秒   将 .addScalar("dealTS",StandardB ...

  3. POJ 3122 & 3258 & 3273 #二分

    以下三道都是经典二分,道理都差不多,代码就贴在一起了. POJ 3122    POJ 3258    POJ 3273 POJ 3122: #include<iostream> #inc ...

  4. POJ 2311 Cutting Game(SG+记忆化)

    题目链接 #include<iostream> #include<cstdio> #include<cstring> using namespace std; ][ ...

  5. Java 泛型 Java使用泛型的意义

    Java 泛型 Java使用泛型的意义 @author ixenos 直接意义 在编译时保证类型安全 根本意义 a) 类型安全问题源自可复用性代码的设计,泛型保证了类型安全的复用模板 b) 使用复用性 ...

  6. Shader之ECEF——LLH

    uniform mat4 osg_ViewMatrix; uniform mat4 osg_ViewMatrixInverse; uniform mat4 osg_ModeViewMatrix; un ...

  7. HTTP Status 400 - Required request part 'file' is not present

    今天使用Spring MVC做一个文件上传的功能,在提交表单的时候出现了如下错误:

  8. chapter8_4 错误处理

    在Lua中,对于大多数程序都不用作任何错误处理,应用程序本身会负责这类问题. 所有的Lua活动都是由应用程序的一次调用开始的,这类调用要求Lua执行一个程序块. 执行过程中发生了错误,此调用会返回一个 ...

  9. Openjudge-计算概论(A)-统计字符数

    描述: 判断一个由a-z这26个字符组成的字符串中哪个字符出现的次数最多输入第1行是测试数据的组数n,每组测试数据占1行,是一个由a-z这26个字符组成的字符串每组测试数据之间有一个空行,每行数据不超 ...

  10. 获取用户IP地址

    // <summary> /// 取得客户端真实IP.如果有代理则取第一个非内网地址 /// by flower.b /// </summary> public static ...