如何在框架中使用Alamofire?

4

我想在我的框架视图控制器中使用Alamofire进行一些网络请求。

// Call
let myURLString = "https://jsonplaceholder.typicode.com/todos/1"
Alamofire.request(myURLString)
    .responseJSON { response in
        // do stuff with the JSON or error
}

然而,它返回的是:
No such module 'Alamofire'

enter image description here


你是否已经在你的框架的podfile中添加了'Alamofire'? - emrcftci
@EmreCiftci 我需要在我的框架中执行pod init操作吗?(并将alamofire添加到podfile中?)我已经在主项目的pod文件中执行了“pod init”和添加了alamofire。 - user1872384
1个回答

4

首先,您应该创建CocoaTouch框架的目标。

接着,您需要将CocoaTouch框架添加到您主项目的PodFile中:

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

target 'MainApp' do
  use_frameworks!
end

target 'CocoaTouchFramework' do
  use_frameworks!
end

pod 'Alamofire'

或者您可以为框架设置特定的Pod:

platform :ios, '9.0'
use_frameworks!

#Your custom framework's pods
def customframework_pods
    pod 'Alamofire'
end

target 'MainApp' do
    pod 'MyAwesomePod', '~>1.0'
    customframework_pods
end

target 'CocoaTouchFramework' do
    customframework_pods
end

我发现了关于这个问题的另一个答案:
来源:Youval Vaknin 的 Medium 文章
# Uncomment this line to define a global platform for your project
platform :ios, '8.0'
# Uncomment this line if you're using Swift
# use_frameworks!
workspace 'YourWorkSpaceName'
xcodeproj 'Project/ProjectName.xcodeproj'
xcodeproj 'CustomFramework/Framework.xcodeproj'

def project_pods
    pod 'Alamofire'
end

def framework_pods
    pod 'Alamofire'
end

target 'ProjectName' do
    xcodeproj 'Project/ProjectName.xcodeproj'
    project_pods
end

target 'ProjectName' do
    xcodeproj 'Project/ProjectName.xcodeproj'
    project_pods
end

target 'Framework' do
    xcodeproj 'CustomFramework/Framework.xcodeproj'
    framework_pods
end

target 'Framework' do
    xcodeproj 'CustomFramework/Framework.xcodeproj'
    framework_pods
end

我希望它能够正常工作。

享受吧。


尝试将您的建议添加到主项目的PodFile中。然而,出现了以下错误:[!] 无法找到名为 CocoaTouchFramework(这是我的自定义框架名称)的目标,但是发现了MainAppMainAppUITests - user1872384
我正在尝试将框架和主应用程序分离。有更好的方法来管理CocoaPods吗? - user1872384
1
嗨@user1872384。请检查我的编辑。看一下我分享的文章。 - emrcftci
非常感谢@Emri Ciftci,我成功地按照您的指导进行了操作。我唯一缺少的是为我的框架创建一个目标。然后只需要按照设置pods的步骤(只有一个podfile)即可 =D - user1872384

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接