2016-06-22 107 views
1

我有与下列项目的项目工作的iOS问题decencies设置:嵌套框架

Main App 
    --> UIFramework (own framework) 
     --> CoreFramework (own framework) 
      --> Mixpanel Third Party framework installed using carthage 

每个框架设置,因为它上面的一个项目依赖,换句话说: - CoreFramework包含Mixpanel框架 - UIFramework对CoreFramework的依赖关系 - 主应用程序依赖于UIFramework

此结构在一个公共工作区上设置。

我可以单独构建和测试每个框架,而不会出现任何问题。 我的问题归结为从主应用程序访问CoreFramework。

如果我抢我的根视图控制器,写了下面的代码:

import UIKit 
import UIFramework 

class ViewController: UIViewController { 

    override func viewDidLoad() { 
     super.viewDidLoad() 
     let object = UIFrameworkClass() 
     object.testFunction() 
    } 

} 

的应用程序运行,并建立对设备没有任何问题。 不过,如果我写这样的代码:

import UIKit 
import UIFramework 
import CoreFramework 

class ViewController: UIViewController { 

    override func viewDidLoad() { 
     super.viewDidLoad() 
     let object = UIFrameworkClass() 
     object.testFunction() 

     coreFrameworkGlobalTestFunction() 
    } 

} 

建设时,我收到以下错误:

Framework not found Mixpanel for architecture arm64 

我试过嵌入和Mixpanel框架直接链接到我的应用程序都无济于事。

这是什么原因引发的任何想法?如何从我的主应用程序访问CoreFramework上的类和函数而不会出现错误?

非常感谢。

+0

您是否尝试过将所有这些框架添加到目标的建筑阶段链接部分?也尝试清理并重新启动你的Xcode,它有时会起作用。 – user3349433

+0

是的,重启Xcode并清理派生数据文件夹会得到相同的结果。 :/ –

回答

0

如果别人碰到在未来同样的问题: 我能够通过添加路径,Mixpanel库主要的应用程序的Build SettingsFrameworks Search Path属性来解决这个问题,这个问题就走了。

想要一些很棒的Xcode魔法。

+0

但不是默认搜索路径中的Mixpanel框架? – eonist