在 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 设备上运行我的应用程序时出现错误的主要内容,如果未能解决你的问题,请参考以下文章

iOS安全区域无法在真实设备上运行

AVAudioPlayer 无法在某些设备上播放

如何限制我的应用仅适用于 iPhone 6 和 6 Plus?

如何在 macOS Mojave 10.14.6 上运行 Xcode 11.4

尝试在 iPhone 上构建 React Native 应用程序时出现“npm start”错误?

音频引擎仅在运行 iOS 10 的设备(iphone 6)上失败,在所有模拟器设备上运行良好或真实设备直到 iphone 6s