Estimote SDK忽略文件...文件是为不支持的文件格式构建的

时间:2016-07-06 13:38:57

标签: ios objective-c xcode estimote

我在Xcode 7.3.1中的Estimote室内位置SDK遇到问题。我收到的错误如下:

    ld: symbol(s) not found for architecture x86_64
    clang: error: linker command failed with exit code 1 (use -v to see invocation)

最后。我在我的Xcode项目的Supporting Files文件夹中添加了EstimoteSDK.framework和Estimote Indoor Location SDK(两个单独的项目,后者是前者的扩展)。我已经尝试了许多解决方案来解决这个问题,包括:

Enable Modules in build settings, add framework to Embedded Binaries, add -lc++ flag to Other Linker Flags;

Update framework/header search paths, add the missing files directly to the project, add/remove architectures from build settings;

add double quotes to library search path;

change the Tests host application target;

make sure frameworks are not double compiled;

以及删除派生数据和经常清理项目。我是昨天Xcode的新手,所以解决方案对你来说可能是显而易见的,而不是我。似乎问题是库没有针对我需要的架构正确构建?我收到的完整错误包括在这里。

    Undefined symbols for architecture x86_64:
      "_OBJC_CLASS_$_ESTBeaconManager", referenced from:
          objc-class-ref in libEstimoteIndoorSDK.a(libEstimoteIndoorSDK.a-x86_64-master.o)
      "_OBJC_CLASS_$_ESTBeaconVO", referenced from:
          objc-class-ref in libEstimoteIndoorSDK.a(libEstimoteIndoorSDK.a-x86_64-master.o)
      "_OBJC_CLASS_$_ESTCloudAuthorization", referenced from:
          objc-class-ref in libEstimoteIndoorSDK.a(libEstimoteIndoorSDK.a-x86_64-master.o)
      "_OBJC_CLASS_$_ESTCloudMapper", referenced from:
          objc-class-ref in libEstimoteIndoorSDK.a(libEstimoteIndoorSDK.a-x86_64-master.o)
      "_OBJC_CLASS_$_ESTConfig", referenced from:
          objc-class-ref in ViewController.o
          objc-class-ref in AppDelegate.o
          objc-class-ref in libEstimoteIndoorSDK.a(libEstimoteIndoorSDK.a-x86_64-master.o)
      "_OBJC_CLASS_$_ESTEstimoteAccount", referenced from:
          objc-class-ref in libEstimoteIndoorSDK.a(libEstimoteIndoorSDK.a-x86_64-master.o)
      "_OBJC_CLASS_$_ESTRequestConst", referenced from:
          objc-class-ref in libEstimoteIndoorSDK.a(libEstimoteIndoorSDK.a-x86_64-master.o)
      "_OBJC_CLASS_$_ESTRequestGetBeaconsPublicDetails", referenced from:
          objc-class-ref in libEstimoteIndoorSDK.a(libEstimoteIndoorSDK.a-x86_64-master.o)
      "_OBJC_CLASS_$_ESTRequestGetJSON", referenced from:
          _OBJC_CLASS_$_x5jrFWmD1H3A6FjebaMXpnVGVw58bDekZYadlKY in libEstimoteIndoorSDK.a(libEstimoteIndoorSDK.a-x86_64-master.o)
          _OBJC_CLASS_$_r30zDA89cBIWZQpcYmM8xjPyM4sZy0L5 in libEstimoteIndoorSDK.a(libEstimoteIndoorSDK.a-x86_64-master.o)
          _OBJC_CLASS_$_e0LI38uUwsZ9apoFW3qhv6pOPRT1sKmoD in libEstimoteIndoorSDK.a(libEstimoteIndoorSDK.a-x86_64-master.o)
          _OBJC_CLASS_$_u6iU4JZRN2l55y2nA6UB13IMI6qJhPOAQewbEtFYKSXc8 in libEstimoteIndoorSDK.a(libEstimoteIndoorSDK.a-x86_64-master.o)
          _OBJC_CLASS_$_x5tjiUpT0eqXy2YsfRmjTTy8sPH2Yh7Fg65ufq in libEstimoteIndoorSDK.a(libEstimoteIndoorSDK.a-x86_64-master.o)
          _OBJC_CLASS_$_q6aJM8vJh5pYl1B9RjxOGWyy255Sv in libEstimoteIndoorSDK.a(libEstimoteIndoorSDK.a-x86_64-master.o)
          _OBJC_CLASS_$_EILRequestFetchLocation in libEstimoteIndoorSDK.a(libEstimoteIndoorSDK.a-x86_64-master.o)
          ...
      "_OBJC_CLASS_$_ESTRequestManager", referenced from:
          objc-class-ref in libEstimoteIndoorSDK.a(libEstimoteIndoorSDK.a-x86_64-master.o)
      "_OBJC_CLASS_$_ESTRequestPostFormData", referenced from:
          _OBJC_CLASS_$_r9d3Qv4YR1qCdjYCLYKdaFnrDHhwMhb in libEstimoteIndoorSDK.a(libEstimoteIndoorSDK.a-x86_64-master.o)
      "_OBJC_CLASS_$_ESTRequestPostJSON", referenced from:
          _OBJC_CLASS_$_a5fKlf5zPAKpZGYdXEjkjKM6UUeiUhuRFRM in libEstimoteIndoorSDK.a(libEstimoteIndoorSDK.a-x86_64-master.o)
          _OBJC_CLASS_$_h8wUQo9zv9z8zLnKPUZZrR5tGL7Hg66FJe in libEstimoteIndoorSDK.a(libEstimoteIndoorSDK.a-x86_64-master.o)
          _OBJC_CLASS_$_EILRequestFetchPublicLocations in libEstimoteIndoorSDK.a(libEstimoteIndoorSDK.a-x86_64-master.o)
          _OBJC_CLASS_$_EILRequestAddLocation in libEstimoteIndoorSDK.a(libEstimoteIndoorSDK.a-x86_64-master.o)
          _OBJC_CLASS_$_i9W6QoRLyuXFjZE0tdknztDa1Afu6 in libEstimoteIndoorSDK.a(libEstimoteIndoorSDK.a-x86_64-master.o)
          _OBJC_CLASS_$_r1jq5StAIe8h4AOuHkc3I2CK181oJpZW in libEstimoteIndoorSDK.a(libEstimoteIndoorSDK.a-x86_64-master.o)
          _OBJC_CLASS_$_j4Knk5biyF4y2ruxzExKyBezNKZGM0icOOtIl in libEstimoteIndoorSDK.a(libEstimoteIndoorSDK.a-x86_64-master.o)
          ...
      "_OBJC_CLASS_$_ESTRequestPutJSON", referenced from:
          _OBJC_CLASS_$_t7GPGJEILte9PO9O1AwX6TGgQ1I in libEstimoteIndoorSDK.a(libEstimoteIndoorSDK.a-x86_64-master.o)
          _OBJC_CLASS_$_r0eV8OeVutpppjv9HBNCa3c1VsjskD in libEstimoteIndoorSDK.a(libEstimoteIndoorSDK.a-x86_64-master.o)
          _OBJC_CLASS_$_r1ubUVn6LaT7VHpt6oXJwyW819XlLd61 in libEstimoteIndoorSDK.a(libEstimoteIndoorSDK.a-x86_64-master.o)
          _OBJC_CLASS_$_EILRequestModifyLocation in libEstimoteIndoorSDK.a(libEstimoteIndoorSDK.a-x86_64-master.o)
          _OBJC_CLASS_$_i0d0cJ6mb8xJbrTFn17WWFY1uLUrHQo9x in libEstimoteIndoorSDK.a(libEstimoteIndoorSDK.a-x86_64-master.o)
      "_OBJC_CLASS_$_ESTUtilityManager", referenced from:
          objc-class-ref in libEstimoteIndoorSDK.a(libEstimoteIndoorSDK.a-x86_64-master.o)
      "_OBJC_METACLASS_$_ESTRequestGetJSON", referenced from:
          _OBJC_METACLASS_$_x5jrFWmD1H3A6FjebaMXpnVGVw58bDekZYadlKY in libEstimoteIndoorSDK.a(libEstimoteIndoorSDK.a-x86_64-master.o)
          _OBJC_METACLASS_$_r30zDA89cBIWZQpcYmM8xjPyM4sZy0L5 in libEstimoteIndoorSDK.a(libEstimoteIndoorSDK.a-x86_64-master.o)
          _OBJC_METACLASS_$_e0LI38uUwsZ9apoFW3qhv6pOPRT1sKmoD in libEstimoteIndoorSDK.a(libEstimoteIndoorSDK.a-x86_64-master.o)
          _OBJC_METACLASS_$_u6iU4JZRN2l55y2nA6UB13IMI6qJhPOAQewbEtFYKSXc8 in libEstimoteIndoorSDK.a(libEstimoteIndoorSDK.a-x86_64-master.o)
          _OBJC_METACLASS_$_x5tjiUpT0eqXy2YsfRmjTTy8sPH2Yh7Fg65ufq in libEstimoteIndoorSDK.a(libEstimoteIndoorSDK.a-x86_64-master.o)
          _OBJC_METACLASS_$_q6aJM8vJh5pYl1B9RjxOGWyy255Sv in libEstimoteIndoorSDK.a(libEstimoteIndoorSDK.a-x86_64-master.o)
          _OBJC_METACLASS_$_EILRequestFetchLocation in libEstimoteIndoorSDK.a(libEstimoteIndoorSDK.a-x86_64-master.o)
          ...
      "_OBJC_METACLASS_$_ESTRequestPostFormData", referenced from:
          _OBJC_METACLASS_$_r9d3Qv4YR1qCdjYCLYKdaFnrDHhwMhb in libEstimoteIndoorSDK.a(libEstimoteIndoorSDK.a-x86_64-master.o)
      "_OBJC_METACLASS_$_ESTRequestPostJSON", referenced from:
          _OBJC_METACLASS_$_a5fKlf5zPAKpZGYdXEjkjKM6UUeiUhuRFRM in libEstimoteIndoorSDK.a(libEstimoteIndoorSDK.a-x86_64-master.o)
          _OBJC_METACLASS_$_h8wUQo9zv9z8zLnKPUZZrR5tGL7Hg66FJe in libEstimoteIndoorSDK.a(libEstimoteIndoorSDK.a-x86_64-master.o)
          _OBJC_METACLASS_$_EILRequestFetchPublicLocations in libEstimoteIndoorSDK.a(libEstimoteIndoorSDK.a-x86_64-master.o)
          _OBJC_METACLASS_$_EILRequestAddLocation in libEstimoteIndoorSDK.a(libEstimoteIndoorSDK.a-x86_64-master.o)
          _OBJC_METACLASS_$_i9W6QoRLyuXFjZE0tdknztDa1Afu6 in libEstimoteIndoorSDK.a(libEstimoteIndoorSDK.a-x86_64-master.o)
          _OBJC_METACLASS_$_r1jq5StAIe8h4AOuHkc3I2CK181oJpZW in libEstimoteIndoorSDK.a(libEstimoteIndoorSDK.a-x86_64-master.o)
          _OBJC_METACLASS_$_j4Knk5biyF4y2ruxzExKyBezNKZGM0icOOtIl in libEstimoteIndoorSDK.a(libEstimoteIndoorSDK.a-x86_64-master.o)
          ...
      "_OBJC_METACLASS_$_ESTRequestPutJSON", referenced from:
          _OBJC_METACLASS_$_t7GPGJEILte9PO9O1AwX6TGgQ1I in libEstimoteIndoorSDK.a(libEstimoteIndoorSDK.a-x86_64-master.o)
          _OBJC_METACLASS_$_r0eV8OeVutpppjv9HBNCa3c1VsjskD in libEstimoteIndoorSDK.a(libEstimoteIndoorSDK.a-x86_64-master.o)
          _OBJC_METACLASS_$_r1ubUVn6LaT7VHpt6oXJwyW819XlLd61 in libEstimoteIndoorSDK.a(libEstimoteIndoorSDK.a-x86_64-master.o)
          _OBJC_METACLASS_$_EILRequestModifyLocation in libEstimoteIndoorSDK.a(libEstimoteIndoorSDK.a-x86_64-master.o)
          _OBJC_METACLASS_$_i0d0cJ6mb8xJbrTFn17WWFY1uLUrHQo9x in libEstimoteIndoorSDK.a(libEstimoteIndoorSDK.a-x86_64-master.o)
    ld: symbol(s) not found for architecture x86_64
    clang: error: linker command failed with exit code 1 (use -v to see invocation)

更新:我删除了我收到的第一个错误,因为我在Link Binary With Libraries中包含了两次EstimoteSDK.framework。

1 个答案:

答案 0 :(得分:0)

我最终解决了这个问题,方法是从项目中删除框架,从GitHub重新加载它,然后再将它添加到项目中。