代码之家  ›  专栏  ›  技术社区  ›  TealShift

使用Parse的iOS SDK pod子服务器

  •  0
  • TealShift  · 技术社区  · 7 年前

    我正在尝试使用新的(?)Parse的FacebookUtils框架的CocoaPods子类。

    pod的自述文件说:

    如果您希望使用Facebook或Twitter utils或ParseUI,您可以 现在利用椰子荚“SubSecs”

    ruby pod 'Parse/FacebookUtils' pod 'Parse/TwitterUtils' pod 'Parse/UI'

    注意,在这种情况下,解析框架将包含所有头 和类,所以您只需使用:

    swift import Parse

    objc @import Parse;

    导入主要的解析类就是这样工作的。但是,Xcode编译器无法识别子服务器FacebookUtils和UI!

    它只是说“PFFacebookUtils”是一个未声明的标识符。

    注意:我正在使用 use_frameworks! 在podfile的顶部,该文件将生成Pods\u项目。“将二进制文件链接到库”列表中的框架。

    我在这里有点迷路了,非常感谢你的帮助。

    更新时间:

    我发现问题似乎是我的iMessage扩展的podfile部分:

    target 'MyApp' do
      pod 'Parse/UI'
      pod 'Parse/FacebookUtils'
    end
    
    target 'iMessage App' do
        pod 'Parse/Core'
    end
    

    不知何故,这会导致编译成功,但在启动时会崩溃,并出现以下错误:

    dyld:未找到符号:\u OBJC\u CLASS\u$\ u PFFacebookUtils
    引用自:/myapp。应用程序/我的应用程序
    应为:/MyApp/框架/解析。框架/分析

    将FacebookUtils子类添加到iMessage扩展时,崩溃消失了,一切都很好。。。FacebookUtils包含扩展中不允许的引用(UIApplication)>:U

    1 回复  |  直到 7 年前
        1
  •  1
  •   Alexander Vasenin    6 年前

    崩溃是由CocoaPods脚本引起的 Pods-YourProject-frameworks.sh 正在安装 Parse-Core-FacebookUtils-TwitterUtils/Parse.framework Parse-Core/Parse.framework 到完全相同的位置,有效地覆盖了前者

    install_framework "${BUILT_PRODUCTS_DIR}/Parse-Core-FacebookUtils-TwitterUtils/Parse.framework"
    install_framework "${BUILT_PRODUCTS_DIR}/Parse-Core/Parse.framework"
    

    我通过在CocoaPods运行脚本之前添加以下运行脚本解决了这个问题

    /usr/bin/sed -i '' '/Parse-Core\/Parse.framework/d' "${PODS_ROOT}/Target Support Files/Pods-YourProjectName/Pods-YourProjectName-frameworks.sh"
    

    这将从CocoaPods脚本中删除有问题的行,并解决崩溃问题。

    注意:删除 -Core 如果您使用 pod 'Parse' 而不是 pod 'Parse/Core'