V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
GalvinZhao
V2EX  ›  问与答

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

  •  
  •   GalvinZhao · 2013-10-21 13:31:59 +08:00 · 8443 次点击
    这是一个创建于 3839 天前的主题,其中的信息可能已经有所发展或是发生改变。
    菜鸟问题
    之前给Android项目同事写了一个c的.so库,封装了组包和签名的功能,
    现在领导又要准备把产品转到IOS上,之前的库文件能不能直接「或者说小改后」用呢??
    之前google了下,似乎没有这方面的文章,有一些擦边的文章,貌似可以用静态库文件,
    希望得到指点
    「完全不懂IOS||Objc」
    5 条回复    2017-03-23 16:56:39 +08:00
    tang3w
        1
    tang3w  
       2013-10-22 13:32:59 +08:00   ❤️ 1
    技术上,你也可以在 iOS 上使用动态库,你需要打包成 dylib 格式的文件。但是这样可能会导致苹果拒绝你的应用!你应该使用静态库来代替动态库。由于 CPU type 的不同,你可能需要重新编译。 如果是在 iPhone 模拟器上使用,你需要 i386 类型的静态库,而 iPhone 上面则需要编译成 arm 类型的。
    GalvinZhao
        2
    GalvinZhao  
    OP
       2013-10-22 15:03:19 +08:00
    非常感谢@tang3w,今天继续寻找答案
    静态库也可以的,我考虑的是原来c库代码能复用多少?
    是只要重新交叉编译就可以了,还是需要修改以符合objc的要求,
    比如和静态库中函数传递指针、字符串、数组神马的,是否需要像安卓那样要使用jni标准来转换一下??
    tang3w
        3
    tang3w  
       2013-10-22 18:10:33 +08:00   ❤️ 1
    对于 Java,我不是很清楚。Objective-C 作为 C 语言的超集,不需要额外的协议来访问 C 库的。这些工作直接在静态链接的时候就做好了。
    GalvinZhao
        4
    GalvinZhao  
    OP
       2013-10-22 19:52:47 +08:00
    这样我就放心了,等demo出来就测试一下
    hustfox
        5
    hustfox  
       2017-03-23 16:56:39 +08:00
    楼主试过可以么?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3256 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 12:43 · PVG 20:43 · LAX 05:43 · JFK 08:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.