繁体   English   中英

使用cocoapods将pod添加到通用框架库

[英]adding a pod to a universal framework library using cocoapods

我正在使用CocoaPods 1.2,我有一个带有2个目标的项目,一个是主要的iPhone应用程序,另一个是可可触摸框架库。

我没有问题将pod添加到我的iphone目标,我的主要问题是我无法将任何pod添加到其他共享库目标。

这是我的pod文件的一个例子:

platform :ios, '9.0'

target 'MyApp' do
  use_frameworks!
  pod 'EVReflection'
end

target 'MyLibrary' do
  use_frameworks!
  pod 'EVReflection'
end

将pod添加到主应用程序MyApp工作正常,但不是其他目标,任何想法为什么会发生这种情况?

我试过使用abstract_target但没有运气。 我甚至试图解体并重新融入,但也没有工作。

问题只发生在尝试将pod添加到通用框架库时,将pod添加到任何其他类型的目标工作正常。

任何帮助,将不胜感激。

这是我的整个程序

  1. 创建一个新的快速应用程序项目。
  2. 创建一个新的可可触摸框架目标。
  3. 在项目目录中,运行pod init
  4. Tyr这个Podfile

     # Uncomment the next line to define a global platform for your project platform :ios, '9.0' target 'SOQ' do use_frameworks! end target 'SOQFW' do use_frameworks! end pod 'EVReflection' 

在pod安装之后,在我的两个目标SOQ(swift应用程序)和SOQFW(可可触摸框架)都可以在* .swift和用户类EVObject中import EVReflection EVReflection而没有问题。

示例代码是

import EVReflection

class User: EVObject {
    var id: Int = 0
    var name: String = ""
    var friends: [User]? = []
}

你可以尝试一下。

我的开发环境是os x 10.12,xode 8.2.1,cocoapods 1.1.1

我在这里创建了一个示例项目: https//github.com/dtweston/PodFrameworkTest

我的Podfile与您在问题中发布的完全相同。

我能够在主应用程序和框架库中导入和使用该框架。

在框架中:

public class LibUser: EVObject {
    var id: Int = 0
    var name: String = ""
    var friends: [LibUser]? = []
}

在app中(你可以看到这也引用了框架的LibUser类):

class AppUser: EVObject {
    var id: Int = 0
    var name: String = ""
    var friends: [LibUser]? = []
}

我也在macOS 10.12和Xcode 8.2.1上。 我正在使用cocoapods 1.2.0,它也适用于Cocoapods 1.2.0-rc1

我想知道你的设置和我的设置有什么不同。 如果您查看包含您的应用程序和框架的项目的信息,Cocoapods配置文件是否设置正确?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM