真机测试和模拟器正常使用项目,打包成ipa后,项目一运行就蹦!!

iOS 开发中Debug、Release

一、Debug和Release的区别

  Debug:调试版本,包含调试信息,所以容量比Release大很多,并且不进行任何优化(优化会使调试复杂化,因为源代码和生成的指令间关系会更复杂),便于程序员调试。Debug模式下生成两个文件,除了.exe或.dll文件外,还有一个.pdb文件,该文件记录了代码中断点等调试信息

Release:发布版本,不对源代码进行调试,编译时对应用程序的速度进行优化,使得程序在代码大小和运行速度上都是最优的。(调试信息可在单独的PDB文件中生成)。Release模式下生成一个文件.exe或.dll文件

Debug和Release调用两个不同的底层库。


二、Obj文件夹的作用

  obj目录中也有debug和release两个子目录,obj目录是项目生成dll的源目录,然后将生成好的dll复制到bin目录下。obj用于存放编译过程中生成的中间临时文件。在.Net中,编译时分模块进行的,每个模块的编译结果都保存在obj目录下,最后会合并为一个.exe或则.dll文件保存到bin目录下。

  因为每次编译都是增量编译,也就是只重新编译改变了的模块,所以这个obj目录的作用就是保存这些小块的编译结果,加快编译速度。


三、Debug 和 Release 编译方式的本质区别

Debug 通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序。Release 称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户很好地使用。


四、如何将Debug模式改为Release (还原打包好的ipa模式,)

快捷键:花键 + Shift + ,

第一步
第二步

五、Release模式下的警告信息,然而项目崩溃。

“xxxx” was compiled with optimization - stepping may behave oddly; variables may not be available. (xxx采用优化—步进方式进行编译,可能表现得很奇怪;变量可能不可用。)


六、如何Release模式下消除警告,解决崩溃。修改完成后,我的工程能正常跑起来了......

修改配置项

七、在查询解决办法的同时,看到别人解决办法如下

修改配置项

你可能感兴趣的:(真机测试和模拟器正常使用项目,打包成ipa后,项目一运行就蹦!!)