在动态Swift框架中导入Firebase(带/不带Cocoapods)并将框架导入到app目标中

时间:2016-08-18 02:22:57

标签: ios swift xcode firebase cocoapods

适用于iOS的

Firebase是一个Objective-C框架,它建议使用Cocoapods进行集成。以下是我尝试设置的方法:

我在OS X 10.11.6上运行Xcode 8b6。该应用程序是使用iOS 10 SDK构建的,目标是iOS 9。

MyApp是我想要使用的常规(Swift)iOS应用。

MyFramework是一个嵌入式动态框架,带有app,q。我希望将所有Firebase代码抽象到框架中,然后将Firebase添加到MyFramework中的Podfile目标:

# Uncomment this line to define a global platform for your project
# platform :ios, '9.0'

target 'MyApp' do
  # Comment this line if you're not using Swift and don't want to use dynamic frameworks
  use_frameworks!

  # Pods for MyApp
  target 'MyAppTests' do
    inherit! :search_paths
    # Pods for testing
  end
end

target 'MyApp' do
  pod 'Firebase'
  pod 'Firebase/Database'
  pod 'Firebase/Auth'
end

在运行pod install时,我可以在.swift中的所有MyFramework个文件中导入Firebase。但是,在我的应用中的任何位置使用import MyFramework时,我会收到错误Missing required module Firebase

认为这可能是一个Cocoapods问题,我开始了一个新项目并手动集成Firebase,但最终遇到了同样的问题。 这是一个已知的问题?如果是这样,是否有任何修复方法?

2 个答案:

答案 0 :(得分:0)

您可以将其包含在您的podfile中

//正在定位iOS 9.0

platform :ios, '9.0'
use_frameworks!

def firebase_pods
 pod 'Firebase'
 pod 'Firebase/Database'
 pod 'Firebase/Auth'
end

target 'MyApp’ do
 firebase_pods

如果这对您不起作用,请告诉我,我可以尝试以其他方式提供帮助

答案 1 :(得分:0)

在MyFramework的podspec中,添加Firebase pod的依赖项。还要将静态框架标志设置为true。这是您的podspec的外观:

*OTHER METADATA RELATED TO MYFRAMEWORK*
s.static_framework = true
s.dependency   'Firebase'
s.dependency   'Firebase/Database'
s.dependency   'Firebase/Auth'`