framework 和 library的区别
要了解什么是library。首先library分为static和dynamic。Static library是指有连接到一个文件,这个文件是有binary code,是在comile time feature,需要连接application里的binary,一般只会某个指定的application使用。而dynamaic一般会在多个application里使用,同时它是run time feature。一般来说static都是较大的文件,而dynamic会是比较小的文件。
回到framework和library。一般的framework是dynamic,是较小的file,和同时间多个application都可以使用。file的末尾会加
.framework
而static library就是一些比较大的file,它会在comlite time的是时候和application的resource code做linking。library有dynamic也有static
Static libraries — .a
Dynamic libraries — .dylib
小结:可以想象 static library都是一些source code,里面只有代码,而framework大多都是dynamic,所以它可以在里面加入图片,字体之类的asset。
接下来开始建造一个framework。我会用我之前写的networkFramework通过cocopod做出third party framework。
public protocol Session {
func getData(with url: URL, completionHandler: @escaping (Data?, Error?) -> Void)
func getData(with request: URLRequest, completionHandler: @escaping(Data?, Error?) -> Void)
}
extension URLSession: Session {
public func getData(with request: URLRequest, completionHandler: @escaping (