ios 二进制化 运行时

https://www.google.com.hk/search?q=ios+二进制化+运行时&newwindow=1&safe=strict&client=safari&ei=vDCjYLjIB7K2mAX-y7yQCw&start=10&sa=N&ved=2ahUKEwi4loqzodLwAhUyG6YKHf4lD7IQ8NMDegQIARBF&biw=1680&bih=936&dpr=2

确定了,xxx SDK 二进制化时依赖了正确的SDK,和本地编译是依赖的不是同一个
 
iOS hpex 打包没问题,本地源码打包没有问题
 
https://www.google.com.hk/search?q=二进制化+链接&newwindow=1&safe=strict&client=safari&source=hp&ei=ODGeYJygMZbr-Qaly7HABw&iflsig=AINFCbYAAAAAYJ4_SNuoWv1XLoy_67Mk2SvJJsFHnt0w&oq=二进制化+链接&gs_lcp=Cgdnd3Mtd2l6EAM6AggAOgQIABAMOgYIABAFEB5Q2BBY7DVgkztoAnAAeAOAAZQHiAGVLZIBDTAuMy4zLjEuMS4zLjKYAQCgAQGqAQdnd3Mtd2l6sAEA&sclient=gws-wiz&ved=0ahUKEwicnMSU3cjwAhWWdd4KHaVlDHgQ4dUDCAo&uact=5
 
如果模块 A 进行二进制的时候依赖模块 C 1.1.0,app 里面依赖 C 1.2.0,而 C 的某个被 A 调用的方法在 1.2.0 版本里面改名字了,app 链接阶段不会报错,运行时 A 调用相关方法的时候会崩溃
 
  • 在 .m 里面使用别的模块的 .h 定义的符号(宏,常量……),需要留意

    1. 如果制作二进制的时候和最终 app 构建的时候,.h 中的符号的定义变了,会有坑

    2. 如果模块 A 进行二进制的时候依赖模块 C 1.1.0,模块 B 进行二进制的时候依赖模块 C 1.1.1,而这个两个版本的 C 有 .h 中的符号修改,会有坑

 
------------------越是喧嚣的世界,越需要宁静的思考------------------ 合抱之木,生于毫末;九层之台,起于垒土;千里之行,始于足下。 积土成山,风雨兴焉;积水成渊,蛟龙生焉;积善成德,而神明自得,圣心备焉。故不积跬步,无以至千里;不积小流,无以成江海。骐骥一跃,不能十步;驽马十驾,功在不舍。锲而舍之,朽木不折;锲而不舍,金石可镂。蚓无爪牙之利,筋骨之强,上食埃土,下饮黄泉,用心一也。蟹六跪而二螯,非蛇鳝之穴无可寄托者,用心躁也。
原文地址:https://www.cnblogs.com/feng9exe/p/14844236.html