【问题标题】:How can I programmatically get the list of frameworks and libraries included in an ios project?如何以编程方式获取 ios 项目中包含的框架和库的列表?
【发布时间】:2015-02-24 09:47:59
【问题描述】:

我正在尝试获取 ios 项目中包含的所有库和框架的列表,以编程方式使用 Objective-C 并将列表发送到服务器。如何获得这份名单?

【问题讨论】:

    标签: ios objective-c iphone xcode swift


    【解决方案1】:

    来自NSBundle

    +allFrameworks
    返回一个包含所有应用程序的数组 代表框架的包。

    声明

    //SWIFT 
    class func allFrameworks() -> [AnyObject]
    
    //OBJECTIVE-C
    + (NSArray *)allFrameworks
    

    返回值

    代表框架的所有应用程序包的数组。仅包含具有一个或多个 Objective-C 类的框架。

    讨论

    返回的数组包括在构建应用程序时链接到应用程序的框架以及动态创建的框架的捆绑包。

    进口声明

    导入基础

    可用性

    适用于 iOS 2.0 及更高版本。

    【讨论】:

    • 太棒了!谢谢@Ajith ...另外,我看到这个方法返回了一个NSBundles数组有没有一种方法可以在返回的数组中搜索特定的框架,例如,如果我想知道是否包含CoreLocation在项目中?谢谢!
    • @auditya for (NSBundle *framework in [NSBundle allFrameworks]) NSLog(@"%@",framework.bundlePath.lastPathComponent);@"CoreLocation.framework"比较
    • 行得通!另外,我之前通过使用 bundle 的 bundleIdentifier 找到了一种不同的方法......它的值为 corelocation 框架的“com.apple.corelocation”。
    • 是否也可以找出框架在应用程序中的引用位置?
    • @prabodhprakash 暂时删除框架肯定会显示一些错误/警告,对吧?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-17
    • 1970-01-01
    • 2017-01-13
    • 1970-01-01
    • 1970-01-01
    • 2013-09-03
    相关资源
    最近更新 更多