V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
iOS 开发实用技术导航
NSHipster 中文版
http://nshipster.cn/
cocos2d 开源 2D 游戏引擎
http://www.cocos2d-iphone.org/
CocoaPods
http://cocoapods.org/
Google Analytics for Mobile 统计解决方案
http://code.google.com/mobile/analytics/
WWDC
https://developer.apple.com/wwdc/
Design Guides and Resources
https://developer.apple.com/design/
Transcripts of WWDC sessions
http://asciiwwdc.com
Cocoa with Love
http://cocoawithlove.com/
Cocoa Dev Central
http://cocoadevcentral.com/
NSHipster
http://nshipster.com/
Style Guides
Google Objective-C Style Guide
NYTimes Objective-C Style Guide
Useful Tools and Services
Charles Web Debugging Proxy
Smore
finab
V2EX  ›  iDev

iOS 静态库开发命名问题

  •  
  •   finab ·
    Finb · 2015-05-12 12:37:54 +08:00 · 2690 次点击
    这是一个创建于 3488 天前的主题,其中的信息可能已经有所发展或是发生改变。
    如果我的静态库里有个类命名和 使用这个静态库的项目有冲突就会报错吧?

    我静态库里导入了JSONKIT框架 ,使用者如果也用了JSONKIT 会有冲突,应该怎么解决呢?

    有大大能赐教点经验么
    6 条回复    2015-05-12 18:05:41 +08:00
    vincentxue
        1
    vincentxue  
       2015-05-12 13:00:55 +08:00
    @compatibility_alias JSONKit MyJSONKit
    vincentxue
        2
    vincentxue  
       2015-05-12 13:01:14 +08:00
    写反了 不好意思...
    black
        3
    black  
       2015-05-12 17:04:03 +08:00
    @vincentxue 方法很好
    补充一点,@ compatibility_alias 可以避免编译时的冲突,但是静态库内引入的第三方库必须保持和使用者引入的第三方库接口完全兼容,否则会在运行时出现错误。
    finab
        4
    finab  
    OP
       2015-05-12 17:32:11 +08:00
    @vincentxue 感谢,这个关键字没有过,他的作用是在编译打个比方是给JSONKit取个别名来编译么?
    @black 非常感谢,运行时是怎么调用的呢?我的静态库调用的JSONKit代码和使用者调用的JSONKit 是一个吗?还是会分别调用各自的?
    black
        5
    black  
       2015-05-12 17:44:36 +08:00
    @finab 运行时只会调用使用者引入的实现
    finab
        6
    finab  
    OP
       2015-05-12 18:05:41 +08:00
    @black 喔,了解,JSONKit这么稳定应该是没问题了
    但如果有一些框架造成冲突了,而又互不兼容,就只能手动改名字这种方法了么?会有其他的解决方案么?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1347 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 23:40 · PVG 07:40 · LAX 15:40 · JFK 18:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.