SDK是什么?
對于一般iOS平臺的開發工作來說,就是做一個APP,為終端用戶提供一些實用的功能,這就是APP的價值。但是APP并不是所有的部分都是自己做,也做不來。一些非核心業務的東西都是三方來幫忙實現的。因此有各種三方的庫。這些庫有些開源有些閉源。開源的一般可以見到github上面的各種開源代碼。比如常見的三方庫:AFNetworking,SDWebImage之類的。你可以使用pod或carthage集成到自己的工程中(當然不嫌麻煩也可以直接把源碼拷貝到工程中編譯使用)。
而閉源庫一般都是公司或組織提供獨特價值功能的。比如友盟統計SDK,就專門提供統計功能。集成之后可以方便的查看到APP的運營數據(DAU,時長之類的)。
這種功能對普通開發者不需要公開源代碼,使用者只關心功能,至于功能怎么實現的,普通使用者不用關心,是這家公司來維護。有時候也不可以公開源碼,因為涉及到很多內部算法,機密什么的。
很多公司會把自己的獨特業務封裝起來,給三方的公司使用,從中或倒流量,或收取費用什么的。這就是做SDK最基本的需求。