GalvinZhao
V2EX  ›  问与答

IOS可以使用动态库文件么??

  •  
  •   GalvinZhao · Oct 21, 2013 · 9182 views
    This topic created in 4596 days ago, the information mentioned may be changed or developed.
    菜鸟问题
    之前给Android项目同事写了一个c的.so库,封装了组包和签名的功能,
    现在领导又要准备把产品转到IOS上,之前的库文件能不能直接「或者说小改后」用呢??
    之前google了下,似乎没有这方面的文章,有一些擦边的文章,貌似可以用静态库文件,
    希望得到指点
    「完全不懂IOS||Objc」
    5 replies    2017-03-23 16:56:39 +08:00
    tang3w
        1
    tang3w  
       Oct 22, 2013   ❤️ 1
    技术上,你也可以在 iOS 上使用动态库,你需要打包成 dylib 格式的文件。但是这样可能会导致苹果拒绝你的应用!你应该使用静态库来代替动态库。由于 CPU type 的不同,你可能需要重新编译。 如果是在 iPhone 模拟器上使用,你需要 i386 类型的静态库,而 iPhone 上面则需要编译成 arm 类型的。
    GalvinZhao
        2
    GalvinZhao  
    OP
       Oct 22, 2013
    非常感谢@tang3w,今天继续寻找答案
    静态库也可以的,我考虑的是原来c库代码能复用多少?
    是只要重新交叉编译就可以了,还是需要修改以符合objc的要求,
    比如和静态库中函数传递指针、字符串、数组神马的,是否需要像安卓那样要使用jni标准来转换一下??
    tang3w
        3
    tang3w  
       Oct 22, 2013   ❤️ 1
    对于 Java,我不是很清楚。Objective-C 作为 C 语言的超集,不需要额外的协议来访问 C 库的。这些工作直接在静态链接的时候就做好了。
    GalvinZhao
        4
    GalvinZhao  
    OP
       Oct 22, 2013
    这样我就放心了,等demo出来就测试一下
    hustfox
        5
    hustfox  
       Mar 23, 2017
    楼主试过可以么?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3072 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 10:51 · PVG 18:51 · LAX 03:51 · JFK 06:51
    ♥ Do have faith in what you're doing.