3

我正在尝试将 aws 框架与本机应用程序链接。我正在使用 cocoapods,我已经包含并安装了我需要的依赖项Podfile

platform :ios, '9.0'
use_frameworks!

target 'auth' do

    inherit! :search_paths

    pod 'AWSMobileClient'
    pod 'AWSUserPoolsSignIn'
    pod 'AWSAuthUI'
  # Pods for auth

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

end

target 'auth-tvOS' do

  # use_frameworks!

  # Pods for auth-tvOS

  target 'auth-tvOSTests' do
    inherit! :search_paths
    # Pods for testing
  end

end

此时,当我import AWSMobileClient在我的AppDelegate.swift文件中收到此错误。

No such module 'AWSMobileClient'

当我有其他没有产生任何错误的 AWS 框架时,我不确定是什么导致了这个错误。这也可以解释为什么应用程序构建在 xcode 中运行时总是失败。对此有什么想法吗?

4

3 回答 3

2

我正在使用 Xcode 9.2 和 Swift 3.2。起初我会在 AppDelegate.swift 文件中获得相同的“没有这样的模块'AWSMobileClient'”错误。

我的解决方案:

  1. 请务必打开 .xcworkspace 文件
  2. 在您的项目设置中,进入构建阶段并添加适当的框架。我添加了所有 AWS 框架,它对我有用。 这是构建阶段设置的屏幕截图
于 2018-02-01T21:50:07.990 回答
0

除了@Stephen Kwan [ https://stackoverflow.com/a/48572298/3941896]我上面的答案之外

我的问题是当我在 podfile 中复制+粘贴冗余目标时。它看起来像这样:

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

target :'RM1' do
    use_frameworks!
    # other pods
    pod 'AWSMobileClient', '~> 2.6.6'
end

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

  # Pods for RM1

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

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

end

一旦我结合了 2 target: 'RM1',运行pod install 它就可以了。

于 2018-03-01T12:28:07.967 回答
0

安装 pod 后,您需要打开 .xcworkspace 您无法从 .xcodeproj 访问它们

这里很好地总结了 Xcode 项目和 Xcode Workspace 之间的区别。

于 2018-01-04T10:24:29.840 回答