首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Cocoapod Subspec中使用Google登录框架

在Cocoapod Subspec中使用Google登录框架
EN

Stack Overflow用户
提问于 2018-06-08 06:14:25
回答 1查看 303关注 0票数 0

我正在构建一个Cocoapod,它允许Pod用户有选择地使用Google Sign In--我正在尝试将Google Sign In作为subspec包含在Cococapod Subspec中。直接使用它,例如,在子规范中,类似于:

代码语言:javascript
复制
  s.subspec 'Google' do |google|
    google.dependency 'GoogleSignIn'
  end

似乎无法工作,因为它会导致可传递的静态框架包含错误。

通过直接包含相关的Google框架,我的运气要好一些。也就是说,通过在这里下载框架:https://developers.google.com/identity/sign-in/ios/sdk/,将它们放到我的Cocoapod项目中,然后使用:

代码语言:javascript
复制
  s.subspec 'Google' do |google|
    google.xcconfig = { 
        'OTHER_SWIFT_FLAGS' => '$(inherited) -DSYNCSERVER_GOOGLE_SIGNIN',
        'OTHER_LDFLAGS' => '$(inherited) -ObjC'
    }

    google.pod_target_xcconfig = {
        'FRAMEWORK_SEARCH_PATHS' => '$(inherited) $(PODS_TARGET_SRCROOT)/SDKs/google_signin_sdk_4_1_2'
    }

    google.frameworks = ['GoogleSignIn', 'GoogleSignInDependencies']

    google.resource_bundles = {
      'GoogleSignIn' => ['$(PODS_TARGET_SRCROOT)/SDKs/google_signin_sdk_4_1_2/*.bundle']
    }
  end

当我在本地使用它时,上面的代码将构建到我的项目中。也就是说,当我在我的Podfile中执行以下操作时:

代码语言:javascript
复制
pod 'SyncServer/Google', :path => '..'

但是,如果我尝试验证podspec以准备将其提交到我的Git代码库:

代码语言:javascript
复制
pod lib lint

我得到以下错误:

  • ERROR | iOS文件模式:GoogleSignInresource\_bundles模式与任何文件都不匹配。- ERROR | iOS xcodebuild:返回不成功的退出码。您可以使用--verbose获取更多information.

有什么想法吗?谢谢。

进一步评论1)我怀疑我的问题与我对$(PODS_TARGET_SRCROOT)的使用有关。SDKs目录位于我的项目的根目录中。在使用带有本地路径引用的pod时,$(PODS_TARGET_SRCROOT)似乎解析到根目录,但在尝试链接项目时却不是这样。

EN

回答 1

Stack Overflow用户

发布于 2018-06-08 09:04:56

要直接依赖像GoogleSignIn这样的静态vendored_framework,可以使用static_framework podspec attribute

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50750862

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档