如何手动将第三方Swift框架导入Swift iOS项目?

时间:2016-08-17 16:51:25

标签: ios swift xcode oauth

我正在尝试导入并使用Swift iOS项目中的OAuthSwift库。我按照他们的指示:

  • 在项目导航器中将OAuthSwift.xcodeproj拖到项目中。
  • 选择您的项目,然后选择您的应用目标。打开Build Phases面板。
  • 展开“目标依赖项”组,然后添加OAuthSwift框架。 每当您想使用OAuthSwift时,都要导入OAuthSwift。

完成这些步骤后,使用import OAuthSwift导入OAuthSwift会导致错误No such module 'OAuthSwift',并且项目无法构建。

我根据其他一些有关类似问题的SO问题尝试了以下步骤:

  • 清理并重建
  • 将OAuthSwift框架添加到Build Phases > Target DependenciesBuild Phases > Link Binary With LibrariesBuild Phases > Embed FrameworksGeneral > Embedded Libraries
  • 的多种不同组合中
  • Build Settings > Search Paths > Framework Search PathsBuild Settings > Search Paths > Library Search Paths设置为$(SRCROOT)并递归。
  • 验证我的部署目标是否与OAuthSwift Xcode项目的部署目标相匹配。

我使用git子模块从他们的主分支使用最新版本的OAuthSwift测试了这个,并且手动下载和导入了两个最新的标记版本(0.6.0和0.5.2)。

我还创建了一个全新的Xcode项目,如上导入OAuthSwift,并遇到了同样的错误。

最后,我还尝试按照https://github.com/Alamofire/Alamofire上自述文件中所述的步骤导入不同的Swift框架(Alamofire)。这也导致了同样的错误:No such module 'Alamofire'

我正在使用:

  • OSX 10.11.6
  • Xcode 7.3.1
  • Swift 2.2

我还是Xcode和Swift模块系统的新手,所以我们非常感谢任何帮助或建议。

1 个答案:

答案 0 :(得分:2)

如果使用CocoaPods导入框架,您的生活将会轻松许多。如果您以前没有使用它们,一旦设置完成就很容易。您可以在命令行上使用Ruby Gems来安装CocoaPods( sudo gem install cocoapods ),然后使用 pod init 创建一个创建pod文件。在此之后,您将其修改为包括:

platform :ios, '8.0'

use_frameworks!

pod 'OAuthSwift', '~> 0.5.0'

保存文件并运行pod install。

完成此操作后,您必须关闭Xcode项目并从此处使用新创建的 .xcworkspace项目文件(而不是.xcodeproj)。

这是指向辅助参考的其他帖子的链接。 How to install cocoapods?