dji-sdk - 由于缺少所需的架构 armv7,无法构建 DJI 示例应用程序
问题描述
我正在尝试将我的应用程序的 DJI SDK 更新到最新版本(即v4.10
DJISDK/UXSDK 和v1.5
DJIWidget),以使其与 Matrice 200 V2 系列兼容。我遇到了一个错误,我也可以使用DJI Mobile-UXSDK-iOS repo中的示例应用程序重现该错误。
基本上,当我尝试归档应用程序时,会出现以下错误:
ld: warning: directory not found for option '-F/Users/nachocarnicero/git/Mobile-UXSDK-iOS/Sample Code/ObjcSampleCode/Frameworks'
ld: warning: directory not found for option '-F/Users/nachocarnicero/git/Mobile-UXSDK-iOS/Sample Code/ObjcSampleCode/../DJIWidget'
ld: warning: ignoring file /Users/nachocarnicero/git/Mobile-UXSDK-iOS/Sample Code/ObjcSampleCode/Pods/DJI-UXSDK-iOS/iOS_UXSDK/DJIUXSDK.framework/DJIUXSDK, missing required architecture armv7 in file /Users/nachocarnicero/git/Mobile-UXSDK-iOS/Sample Code/ObjcSampleCode/Pods/DJI-UXSDK-iOS/iOS_UXSDK/DJIUXSDK.framework/DJIUXSDK (2 slices)
ld: warning: ignoring file /Users/nachocarnicero/git/Mobile-UXSDK-iOS/Sample Code/ObjcSampleCode/Pods/DJI-SDK-iOS/iOS_Mobile_SDK/DJISDK.framework/DJISDK, missing required architecture armv7 in file /Users/nachocarnicero/git/Mobile-UXSDK-iOS/Sample Code/ObjcSampleCode/Pods/DJI-SDK-iOS/iOS_Mobile_SDK/DJISDK.framework/DJISDK (2 slices)
Undefined symbols for architecture armv7:
"_OBJC_CLASS_$_DUXBatteryWidget", referenced from:
_OBJC_CLASS_$_MyBatteryWidget in MyBatteryWidget.o
objc-class-ref in PanelsCollectionsViewController.o
"_OBJC_METACLASS_$_DUXDefaultLayoutViewController", referenced from:
_OBJC_METACLASS_$_DefaultLayoutViewController in DefaultLayoutViewController.o
"_OBJC_METACLASS_$_DUXBatteryWidget", referenced from:
_OBJC_METACLASS_$_MyBatteryWidget in MyBatteryWidget.o
"_OBJC_CLASS_$_DUXStatusBarViewController", referenced from:
objc-class-ref in PanelsCollectionsViewController.o
"_OBJC_CLASS_$_DUXDefaultLayoutViewController", referenced from:
_OBJC_CLASS_$_DefaultLayoutViewController in DefaultLayoutViewController.o
"_OBJC_CLASS_$_DJISDKManager", referenced from:
objc-class-ref in MainViewController.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
在这个版本之前一切正常,所以我猜这是最新的 DJI SDK 版本的问题。
我正在使用 ObjectiveC 示例代码,该应用程序在 iPad Pro 上运行的调试模式下运行良好。
解决方案
万一有人遇到这个问题,似乎新的 DJI SDK 与 armv7 架构不兼容,所以这里的解决方案是转到项目的 XCode Build Settings 选项卡,并armv7
按照本次提交Valid Architectures
所做的那样删除DJI Mobile-SDK-iOS 存储库。
推荐阅读
- c# - 在创建子类时,我收到一个错误,即我的形式参数有错误(设置了获取和设置)
- php - 如何在codeigniter中下载excel和doc文件?
- php - 如何在不使用联合的情况下从同一张表的两列中获取数据?
- android - 如何在整个应用程序中显示快餐栏?
- python - 如何在 sublimetext 3 中使用 python
- javascript - 如何修复脚本中的 windows.open() 错误
- javascript - 基于浮点数的条件语句
- ios - 搜索栏“过滤器”徽章
- c# - XMLNODELIST 到 GenericList 和拆分
- c# - 在同一文件中循环标题和详细信息记录