Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c Cocoapod使用_框架!进口问题_Objective C_Xcode_Cocoapods_Facebook Ios Sdk - Fatal编程技术网

Objective c Cocoapod使用_框架!进口问题

Objective c Cocoapod使用_框架!进口问题,objective-c,xcode,cocoapods,facebook-ios-sdk,Objective C,Xcode,Cocoapods,Facebook Ios Sdk,我想在Objective-C应用程序中使用一些Swift Pod,所以我需要使用框架而不是静态库。但是启用使用\u框架会导致#import错误音 我的播客文件: platform :ios, '8.0' use_frameworks! pod 'AFNetworking', '2.6.0' pod 'Typhoon' pod 'SSKeychain' pod 'JBWebViewController' pod 'TTTAttributedLabel' pod 'HockeySDK' pod '

我想在Objective-C应用程序中使用一些Swift Pod,所以我需要使用框架而不是静态库。但是启用
使用\u框架会导致
#import
错误音

我的播客文件:

platform :ios, '8.0'
use_frameworks!

pod 'AFNetworking', '2.6.0'
pod 'Typhoon'
pod 'SSKeychain'
pod 'JBWebViewController'
pod 'TTTAttributedLabel'
pod 'HockeySDK'
pod 'GoogleAnalytics'
pod 'Intercom'
pod 'FBSDKCoreKit'
pod 'FBSDKLoginKit'
pod 'UIButton+Activity'
pod 'HexColors'
pod 'AFNetworkActivityLogger'
pod 'HCSStarRatingView', :git => 'https://github.com/hsousa/HCSStarRatingView.git'
pod 'LGSideMenuController'
pod 'DateTools'
pod 'SDWebImage'
pod 'SSCWhatsAppActivity'
pod 'UIViewController+BlockSegue'
第一个问题是
SSKeychain
pod:

在代码中,我使用“引号”
#导入“SSKeychain/SSKeychain.h”
,包括SSKeychain,但如果我理解正确,我需要使用

无论如何,我已经找到了带有“quotes”import()的SSKeychain分支,并切换到那个些版本

但现在我对许多其他豆荚(几乎所有豆荚)也有同样的问题:

在应用程序中导入:
#导入“FBSDKCoreKit/FBSDKCoreKit.h”

我真的需要在每次回购和更改导入语句时分叉吗??或者我把豆荚放错地方了

PS:我在每次构建尝试之前清理派生数据和项目

Cocoapods版本:0.39.0

正如您在播客文件中使用的那样,为什么不:

@import SSKeychain;
而不是:

#import <SSKeychain/SSKeychain.h>
#导入
为了检验这一点:

  • 创建一个简单的iOS项目,只需一个ViewController
  • 使用上面的代码创建一个pod文件
  • 运行吊舱安装
  • 打开工作区
  • 编译和运行:编译正常

    • 我终于明白了!通过从将二进制文件链接到库中删除
      Pods.framework
      ,然后再次手动添加,问题得到了解决


      谢谢你的帮助

      还要检查pod安装上的错误消息

      在我的例子中,我在
      FRAMEWORK\u SEARCH\u path
      中使用了一个自定义导入,正是因为我这样做了,每当我安装
      pod
      时,CocoaPods添加的额外搜索路径都没有被添加。所以我不得不删除我的自定义路径,然后它们出现了。然后我添加了我的自定义路径

      最好执行
      pod反集成
      ,删除de xcworkspace文件,然后再次执行
      pod安装
      。然后添加自定义生成设置

      这是我得到的错误:

      [!] The App [Debug] target overrides the FRAMEWORK_SEARCH_PATHS
      build setting defined in Pods/Target Support Files/Pods-AppLib/Pods-AppLib.debug.xcconfig. 
      This can lead to problems with the CocoaPods installation
      

      在我的例子中,问题是什么?我已经为我的Objective C项目下载了几个ObjC吊舱,然后我需要一个swift吊舱,所以我在吊舱文件中启用
      use_framwork
      ,并安装该swift吊舱,在安装该swift吊舱后,许多类中的ObjeC库都会收到该swift吊舱导入问题,所以

      我做了什么来解决这个问题?

    • 从pod文件中剪切所有目标C pod
    • 打开终端并运行命令:
      cd路径/myProject
    • 终端运行命令:
      pod安装
    • 在pod文件中再次通过它(所有目标C pod)并保存它
    • 终端运行命令:
      pod安装

    • 你使用的是哪种版本的CoCoapod?最后一个?0.39.0?退出项目,走出去运行“pod install”@DiegoFreniche我已经尝试了0.39.0和从最新主分支构建的版本。如果您没有在同一个会话中安装所有pod,我建议您首先删除所有pod库,然后再次添加所有pod库。它在我的情况下起作用。@HarshIT我尝试删除
      /Pods
      Podfile.lock
      工作区
      ,并运行clean
      pod install
      -同样的问题。当我尝试使用
      @import
      而不是
      导入时,我收到一个框架未找到的错误:。我认为这是我在一个空项目中测试过的一个主要问题,它可以正常工作,请创建一个测试项目来确保它正常工作,然后将您的目标与新项目的目标进行比较,我最终找到了它!通过从带有库的链接二进制文件中删除
      Pods.framework
      ,然后再次手动添加,问题得到了解决。谢谢你的帮助!你可以编辑你的答案,我会接受:)更好:自动回答你自己。你已经找到了有效的方法!谢谢,迭戈。我发现在添加
      之后,可以使用\u框架经典的导入给我带来了问题(重复的定义等等)。通过将它们替换为
      @import
      s,我的构建又被修复了。这很奇怪,你真的打开了工作区而不是项目吗?@AncAinu是的,我在项目中有两个目标,框架仅针对其中一个目标链接,所以我不得不手动添加嵌入式Pods框架构建步骤:(下次,运行此()要删除CoCoaPod的所有痕迹,请
      pod安装
      again@Ponf我也遇到过,有3个目标,但只在“构建设置”>“嵌入Pods框架”中将
      Pods.framework
      链接到第一个目标。遗憾的是,它不会自动这样做。这个“链接二进制文件与库”在哪里?我看不到它?