在 iPhone6 设备上运行我的应用程序时出现错误
Posted
技术标签:
【中文标题】在 iPhone6 设备上运行我的应用程序时出现错误【英文标题】:Error appeared when running my App on iPhone6 device 【发布时间】:2015-07-22 13:43:09 【问题描述】:我的应用在模拟器上运行良好 但是当尝试在 iPhone6 设备上运行它时,出现了以下两个错误:
架构 arm64 的未定义符号: “_OBJC_CLASS_$_CustomView”,引用自: TransparentView.o 中的 objc-class-ref
和
ld:未找到架构 arm64 clang 的符号:错误:链接器 命令失败,退出代码为 1(使用 -v 查看调用)
CustomView 是包含在 staticLibrary 中的头文件 我的代码是:
#import <UIKit/UIKit.h>
#import <CoreMotion/CoreMotion.h>
#import <CoreLocation/CoreLocation.h>
@interface CustomView : UIView<CLLocationManagerDelegate>
@property (strong, nonatomic)NSMutableDictionary* reducedlatLongDict;
@property (strong, nonatomic) NSMutableArray *reducednamesRequiredToLoad;
-(NSMutableArray*)sendTheDataToMainClass:(NSDictionary*)sendDictyionary :(NSString*)filterString1;
-(NSMutableArray*)gettingTheHeading:(CLHeading*)newHeading;
-(NSMutableArray*)getTheLocationUpdate:(CLLocation*)newLocation :(CLLocation*)fromLocation;
@end
【问题讨论】:
什么是自定义视图?它是在哪里定义的? 代码在模拟器上运行良好,但在 iPhone-6 和 iPhone-5 上运行时出现同样的错误 向我们展示自定义视图的代码> 我手中的CustomView只是头文件,它包含在staticLibrary中 您的库缺少x64
位架构
【参考方案1】:
您的静态库缺少 arm64
架构。
您可以在终端中通过以下命令检查您的库所支持的架构
lipo --info /path/to/yourLib.a
如果是您自己的库,您可能需要更改架构并重新构建它。
如果您不拥有该库,那么您可以从原始源获取更新后的库。
【讨论】:
我尝试了 lipo -info,这是 fat 文件中的结果架构:/my_staticLibrary_Path 是:armv7 i386 x86_64 这显然意味着arm64
丢失,因此它不适用于iphone5s、iphone6 和iphone6+。虽然它包含x86_64
并且适用于每个模拟器。以上是关于在 iPhone6 设备上运行我的应用程序时出现错误的主要内容,如果未能解决你的问题,请参考以下文章
如何限制我的应用仅适用于 iPhone 6 和 6 Plus?
如何在 macOS Mojave 10.14.6 上运行 Xcode 11.4
尝试在 iPhone 上构建 React Native 应用程序时出现“npm start”错误?
音频引擎仅在运行 iOS 10 的设备(iphone 6)上失败,在所有模拟器设备上运行良好或真实设备直到 iphone 6s