工作备忘-Xcode添加静态库以及编译选项配置常见问题

本文介绍了在Xcode中遇到的静态库添加及编译选项配置问题,包括Undefined symbols错误以及Category引用问题。解决方案涉及添加SystemConfiguration.framework解决网络可达性问题,设置Other Linker Flags解决Category未识别选择器问题,以及引入MobileCoreServices.framework来解决UTTypeCopyPreferredTagWithClass引用问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、Undefined symbols for architecture x86_64: "_SCNetworkReachabilityCreateWithAddress", referenced from: +[AFNetworkReachabilityManager managerForAddress:] in libsdktest.a(AFNetworkReachabilityManager.o) 

解决方法:添加SystemConfiguration.framework

二,关于Category位于静态库时,引用该静态库的工程使用Category,出现"unrecognized selector sent to class"提示.

问题:标准UNIX静态库与Objective-C之间Linker的差异.在标准的UNIX静态库内,linker symbol是依照每一个类别而产生的,但由于Category并没有真正产生一个类别,所以出错.
解决:
1.在该静态库的Taraget->Build Settings->Other Linker Flags->加上 -ObjC.

2.在使用该静态库的工程Taraget->Build Settings->Other Linker Flags->加上-all_load或-force_load.

三、出现“ios - Undefined symbols for architecture x86_64:   "_UTTypeCopyPreferredTagWithClass", referenced from:

解决方法:添加 MobileCoreServices.framework


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值