Rumah > Soal Jawab > teks badan
假如你要做一个第三方库,但是你的代码引用了AF,除了使用cocoapods管理你的项目依赖还有没有别的方式?举个例子ShareSDK里面肯定用了微信和新浪的SDK的代码或者API,但是ShareSDK里面肯定没有新浪和微信的SDK源码,我们在引用ShareSDK的时候需要往工程里拖入微信和新浪的SDK,ShareSDK才能正常分享到微信和新浪上,那这个ShareSDK在编译成库的时候,对新浪和微信的依赖是怎么设置的,并且ShareSDK在开发的时候项目里还必须能调用到新浪或者微信的SDK的API不影响开发。
总结一下:主工程A依赖库B、C,库B、C同时依赖公共库D,那如何引用才能让主工程只要引用库D,B、C在A中就能正常工作,但是B、C在开发的时候都可以单独开发,正常引用D。
xcode项目中编译配置如下几种方式,在开发B、C的时候如何设置D的引用?直接引用D的源码是肯定不行的,B、C全部包含D的代码,到A中就冲突了~
有劳各位谁懂得不吝赐教
巴扎黑2017-04-18 09:51:09
Sesetengah perpustakaan pihak ketiga, seperti AFN, boleh diimport terus dan diuruskan oleh cocoapods dalam B dan C. Cuma jangan susun AFN semasa menyusun B dan C. Satu perkara yang perlu diambil perhatian ialah AFN yang digunakan dalam B dan C mesti konsisten dengan versi AFN dalam projek A, jika tidak, ralat penyusunan mungkin berlaku
怪我咯2017-04-18 09:51:09
Hanya fahami perpustakaan dinamik dan perpustakaan statik.
Perlu diambil perhatian bahawa perbezaan antara perpustakaan dinamik dan perpustakaan statik bukanlah perbezaan antara Rangka Kerja dan pustaka .a juga mempunyai perbezaan statik dan dinamik, yang boleh dilaraskan dalam tetapan kompilasi, ditentukan oleh Mach-O. Pilihan taip.
Jadi, jika A menggunakan B dan C, dan kedua-dua B dan C menggunakan D, adalah lebih baik untuk menyusun D ke dalam perpustakaan dinamik, kerana D adalah satu-satunya perpustakaan yang perlu dirujuk beberapa kali. Satu perbezaan antara dinamik dan statik ialah perpustakaan statik akan disusun bersama-sama dengan rujukan, jadi jika D ialah perpustakaan statik, kedua-dua B dan C akan mengandungi salinan kod D Apabila A disusun, akan berlaku konflik. Apabila D dinamik, Apabila menambah perpustakaan, A perlu memaut ke tiga perpustakaan BCD dan BCD pada masa yang sama, dan kemudian ia boleh dipanggil secara normal.
Tambahkan
pada fail pod podgunakan rangka kerja!
Ia boleh disusun ke dalam Rangka Kerja.
Jika B dan C adalah projek berasingan, semasa menyusun Rangka Kerja, tetapkan Langkau Pasang kepada TIDAK, kemudian selepas Achieve, tetingkap Penganjur akan muncul untuk eksport, dan Rangka Kerja yang dieksport boleh dikeluarkan dan digunakan.