在 iOS 开发过程中,尤其是引用第三方SDK的时候;由于少导入支持 SDK 的库文件,而导致编译出现错误提示,是在link阶段出现一些error!
如图:
通常解决方法为在项目中添加相应的类库:
选中项目 -> Build Phases -> Link Binary With Libraries -> 点击+ -> 搜索合适的库 -> 点击Add -> 重新编译
那么问题来了,苹果那么多库, 如何知道文件在哪些库里面的,又或者说如果编译器包上述错误,我们需要导入哪个库!这个太难了!
不积跬步无以至千里,下面是我遇到问题的总结
如果缺少一些基本的变量,很可能是缺少Foundation.framework,如:
_objc_autoreleasePoolPush
_objc_msgSend
_objc_retain
_objc_release
_UI开头——UIKit.framework,如:
_UIApplicationMain
_UIResponder
_UIViewController
_CA和_kCA开头——QuartzCore.framework,如:
_CATransform3DMakeScale
_CAKeyframeAnimation
_CAAnimationGroup
_CAMediaTimingFunction
_kCAFillModeForwards
_kCAMediaTimingFunctionEaseIn
_SSL开头——Security.framwork,如:
_SSLRead
_SSLClose
_SSLWrite
_SSLGetBufferedReadSize
_SSLSetIOFuncs
_CF和_kCF开头——CFNetwork.framework,如:
_kCFStreamNetworkServiceType
_kCFStreamPropertySSLSettings
_kCFStreamSSLIsServer
_kCFStreamSSLLevel
_kCFStreamSSLPeerName
_SC开头——SystemConfiguration.framework
_SCNetworkReachabilitySetCallback
_SCNetworkReachabilityScheduleWithRunLoop
_SCNetworkReachabilityCreateWithName
_SCNetworkReachabilityGetFlags
_SCNetworkReachabilityCreateWithAddress
_UI和_kUI——MobileCoreServices.framework
_UTTypeCreatePreferredIdentifierForTag
_UTTypeCopyPreferredTagWithClass
_kUTTagClassMIMEType
_AL——AssetsLibrary.framework
ALAsset
(以后遇到别的慢慢添加)
网友评论