无法通过CocoaPods将分支库链接到项目

时间:2018-12-09 13:50:56

标签: xcode firebase cocoapods firebaseui git-fork

我遇到一个奇怪的问题,无法弄清楚我在做什么错。任何想法将不胜感激。我从Firebase UI分叉,以便根据自己的需要进行设置。

我想做什么:

我想从导航栏中删除“后退”文本,因为我有一个自定义图像后退按钮,该按钮现在与lib的后退项冲突。我无法通过SDK的Api进行自定义,因此我决定删除在2个视图控制器中设置“后退”文本的行。

我做什么:

因此,我分叉了仓库,并直接通过GitHub Web界面进行了更改。我在我的分叉存储库中进行了更改。

我尝试过的事情:

1。。我遵循了CocoaPods and GitHub forks的帖子,并尝试了第一个建议-指示CocoaPods在我的最新提交中使用我的分叉存储库。我做[!] Failed to download 'FirebaseUI'.时遇到了pod update错误。

2。。我尝试了帖子中的第二条建议-使用所需的更改克隆我的分叉存储库,并将其指向本地容器。我能够pod update,但是后来我在Xcode中遇到了构建错误-Duplicate interface definition for class

是否有可能因为FirebaseUI由不同的子库组成而只需要使用其中3个子库而发生这种情况?这就是我想在Podfile中使用的方式:

pod 'FirebaseUI/Auth'
pod 'FirebaseUI/Google'
pod 'FirebaseUI/Facebook'

这是我的Podfile的样子:

pod 'FirebaseUI/Auth', :path => '~/Developer/Forked/FirebaseUI-iOS'
pod 'FirebaseUI/Google', :path => '~/Developer/Forked/FirebaseUI-iOS'
pod 'FirebaseUI/Facebook', :path => '~/Developer/Forked/FirebaseUI-iOS'

和Podfile.lock

PODS:
- FirebaseUI/Auth (5.2.2):
- Firebase/Auth (~> 5.0)
- FirebaseUI/Facebook (5.2.2):
- FBSDKLoginKit (~> 4.0)
- FirebaseUI/Auth
- FirebaseUI/Google (5.2.2):
- FirebaseUI/Auth
- GoogleSignIn (~> 4.0)

DEPENDENCIES:
- FirebaseUI/Auth (from `~/Developer/Forked/FirebaseUI-iOS`)
- FirebaseUI/Facebook (from `~/Developer/Forked/FirebaseUI-iOS`)
- FirebaseUI/Google (from `~/Developer/Forked/FirebaseUI-iOS`) 

EXTERNAL SOURCES:
FirebaseUI:
:path: "~/Developer/Forked/FirebaseUI-iOS"

Xcode中的确切错误消息:

../Pods/FirebaseUI/FirebaseAuthUI/FUIAuthBaseViewController.h:28:1: Duplicate interface definition for class 'FUIAuthBaseViewController'

FUIAuthBaseViewController是2个已编辑视图控制器之一。

1 个答案:

答案 0 :(得分:0)

question you reference中,Podfile中的pod说明符应引用叉式仓库的源位置,例如:

pod 'FirebaseUI/Auth', :git => 'https://github.com/.../FirebaseUI.git', :commit => 'd35...2bc1'

我发现second answer更容易指向本地路径:

pod 'FirebaseUI/Auth', :path => '~/mypath-to/FirebaseUI'

通过检查生成的Podfile.lock,确保Podfile中的所有FirebaseUI引用均已更改。

如果您仍然遇到问题,请共享PodfilePodfile.lock来帮助其他人进行诊断。