Pod安装了Alamofire 4.4,但Xcode 8.3

时间:2017-05-29 05:34:18

标签: ios xcode cocoapods alamofire

我注意到此问题已关闭,但我遇到了同样的问题。

screen shot 2017-05-12 at 10 56 07 am

P.S - 我在截图中提到的班级中导入了Alamofire

这是我的广告连播详情

platform :ios, '10.0'

use_frameworks!
target 'PhotoTagger' do
     pod 'Alamofire'
end

另外唯一自动完成的是AlamofireVersionNumber,当我尝试使用自动完成功能时,我无法访问任何内容。现在,如果我手工编写Alamofire,那么我可以访问一些方法,但是后来又出现了一些问题而且代码没有编译,我认为这可以归结为类没有被自动完成提取的问题。

我试过了 -

在项目设置中>构建设置

  1. 始终将用户路径搜索为“是”
  2. 标题搜索路径仅包含" $(继承)"非递归
  3. 除Alamofire外,所有其他豆荚都正常工作。 在手工编写类名或复制粘贴之后,一些自动完成的方法与Alamofire类的实际方法没有相同的签名

    请p请!帮助我解决这个问题,以便在面对此时有人可以帮助自己。到目前为止,还没有任何解决方案。

    P.S

    我在Alamofire的Github页面上打开了一个问题,但他们回复了

    Sorry, we're not responsible for Xcode's autocomplete issues.
    In the future, you should open questions like this on Stack Overflow
    and tag alamofire.
    
    Cheers. 
    

    请帮助,我坚持了很长时间。

    编辑:

    这是我的项目设置详情 enter image description here 此外,我已经构建了项目,但问题仍然存在。

    PS - 手动编写类,并且方法甚至,它编译但每次都要编译github页面,复制粘贴方法签名,问题是使用Autocomplete,我可以导航所有方法签名并了解公共可用方法。但我只限于github中可用的示例方法,因为每次我必须复制粘贴方法并覆盖实现。同样,这会编译并运行,但自动完成不起作用,不适用于类或函数。

10 个答案:

答案 0 :(得分:1)

解决方案1 ​​

可能这不是关于Alamofire或pod库,而是Swift和XCode。不久,This answer可能是您的解决方案:

  • 转到Xcode>偏好>代码完成下的文本编辑
  • 取消选中'在输入时建议完成'退出Xcode然后
  • 重新启动Xcode。转到Xcode>偏好>再次重新编辑文本
  • 转到代码完成状态并在输入时检查'建议完成情况'。
  • 尝试输入库函数或枚举...

解决方案2

或者如果您的XCode有一些缓存文件问题,您可以尝试this answer,很快关闭XCode并删除下面的文件:

~/Library/Caches/com.apple.dt.Xcode

然后再试一次。

解决方案3

或者您可以很快尝试this answer

在文件中的@end之后找到任何已注释掉的(/ * abc * /)代码并删除。

如果有任何解决方案,请告诉我。

答案 1 :(得分:1)

对于我来说,在构建设置中添加任何内容并不起作用,但删除派生数据并明确构建Pod方案就可以了。

转到"管理方案"并检查Pods-MyProject方案和没有自动完成的pod之一。关上窗户。首先选择损坏的pod的方案(运行和停止按钮旁边的按钮)和Build for Running shift + cmd + R。第二步选择Pods-MyProject方案,然后选择Build for Running。 切换回正常方案,你应该没事。

答案 2 :(得分:0)

您是否删除了项目或整个项目的派生数据?我已经发生了这种情况,擦干了所有。

答案 3 :(得分:0)

我曾经遇到过同样的问题。我不记得到底有什么用,但我们现在就会想出来。

«Build Settings -> Search path -> Framework Search Paths»中查看您是否拥有以下内容:

Always Search user Paths : NO
Framework Search Paths: $(inherited), "$PODS_CONFIGURATION_BUILD_DIR/Alamofire", "${PODS_ROOT}/Alamofire/" 

这些搜索路径可能与您的搜索路径不同,因此请根据文件的保存位置仔细检查上面的路径是否正确。

在对配置文件进行更改之前,请先备份,以防万一被搞砸。

进行更改时,构建项目并重新启动Xcode。

我刚刚与Alamofire做了一个测试项目:

安装pod: pod'Alamofire','〜> 4.4'

第一次打开xcworkspace: 自动完成功能不起作用。 Xcode无法识别导入Alamofire。

然后:

构建项目项目 - >构建

Xcode识别导入Alamofire。

键入Alamofire时,它不起作用,只有AlamofireVersionNumber自动完成。

但是在输入Alamofire时(从alamofire输入一个已知命令,它会自动完成)

答案 4 :(得分:0)

几天前我遇到了这个问题。我认为这是因为Xcode无法找到Alamofire头库。我要解决的是:

1)转到构建设置并搜索“用户标题搜索路径”

2)将其值输入为“$ {PODS_ROOT} / BuildHeaders”,包括引号

3)再次点击该内容,在右侧,将选择的值更改为“递归”

现在重启Xcode并构建项目。现在自动完成工作正常

答案 5 :(得分:0)

有时当你从终端的窗口安装一些pod时,你需要重新启动xcode或Mac,然后才能正确看到导入名称。

答案 6 :(得分:0)

不幸的是,Xcode是愚蠢的。即使使用服务器端SPM,大多数高级库也会出现同样的问题。直到苹果改进了xcode,不幸的是,有些东西会隐藏在我们身上。

我目前正在使用Xcode 9.2

答案 7 :(得分:0)

只要删除任何有错误的代码(任何不完整的alamofire调用尝试左右),就可以进行构建。

答案 8 :(得分:0)

解决方案

首先编写“ AF ”,然后编写所需的功能。

AF.request(URL ...

AF是包含API的全局名称空间

答案 9 :(得分:-1)

您的广告连播字符串可能有误。请试试这个

pod 'Alamofire', '~> 4.4'

感谢。