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 · May 12, 2015 · 3265 views
    This topic created in 4156 days ago, the information mentioned may be changed or developed.
    如果我的静态库里有个类命名和 使用这个静态库的项目有冲突就会报错吧?

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

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