iOS 静态库中使用宏定义区分iPhone模拟器与真机---备用
2024-10-15 22:52:18
问题描述
一般项目中,可以使用宏定义来判断模拟器还是真机,这无疑是有效的。
- #if TARGET_IPHONE_SIMULATOR
- #define SIMULATOR 1
- #elif TARGET_OS_IPHONE
- #define SIMULATOR 0
- #endif
但是宏是预编译时发生作用的,那么在静态库中是否还能够使用宏定义来区分模拟器与真机?
分析思路
宏定义确实是预编译时发生作用的,但是静态库编译出来的.a文件通常是分为模拟器与真机两个的,及时通过lipo合并为fat.a文件,实际运行调用时所使用的.a文件也不是同一个.
验证与结论
通过试验验证,上面的代码确实能够区分模拟器与真机,即可以在静态库中使用宏定义区分iPhone模拟器与真机
最新文章
- 原生javascript 实现 animate
- angularJs
- php 7.0 安装mcrypt
- mysqlroot密码忘记了,修改root密码
- 土法炼钢:怎么实现一个简单的B+Tree In-Disk
- 用Wget进行下载
- maven项目启动
- jquery中ajax跨域提交的时候会有2次请求
- mybatis:SQL拦截器
- Nginx实现负载均衡的简单案例
- Spring Boot 构建电商基础秒杀项目 (二) 使用 Spring MVC 方式获取用户信息
- bzoj1205: [HNOI2005]星际贸易
- Windows Server 2008 R2下将JBoss安装成windows系统服务
- Linux下编写动态链接库
- LSTM网络应用于DGA域名识别--文献翻译--更新中
- “Spring.Context.Support.ContextRegistry”的类型初始值设定项引发异常。-解决方法
- 无线路由和无线AP的区别
- 什么是spark(二) RDD
- Apache 在不同平台和版本上的默认文件布局
- BZOJ2453:维护队列——题解
热门文章
- fuck'em
- web项目设计与开发——DBHelper2
- DS4700存储日志收集
- 【转】性能测试设计和LR原理的探讨
- 万网免费主机wordpress快速建站教程-万网主机申请
- 使用T4模板为EF框架添加实体根据数据库自动生成字段注释的功能
- Js 学习资料
- 关于利用动态代理手写数据库连接池的异常 java.lang.ClassCastException: com.sun.proxy.$Proxy0 cannot be cast to java.sql.Connection
- 20151211jquery ajax进阶代码备份
- spring线程池配置