Undefined symbols for architecture i386: "_OBJC_CLASS_$_JPUSHRegisterEntity", referenced from: ...

iPhone 5 iOS 9.2 编译报错

Undefined symbols for architecture i386:
  "_OBJC_CLASS_$_JPUSHRegisterEntity", referenced from:
      objc-class-ref in XXX.o
  "_kJPFNetworkDidReceiveMessageNotification", referenced from:
      -[XXX registerJPushWithapplication:didFinishLaunchingWithOptions:] in CKJPushManager.o
  "_OBJC_CLASS_$_JPUSHService", referenced from:
      objc-class-ref in XXX.o
      ...
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

原因: 真机和模拟器架构存在本质区别,JPush SDK 不支持 i386 架构(iPhone 5 模拟器为i386架构)

解决方案:切换模拟器为iPhone 5s 或以上设备 如 : iPhone 6

iOS arm64 armv7 i386 架构 - 转载
iOS开发之----armv6 armv7 armv7s arm64架构的区别 - 转载
Apple移动设备处理器指令集 armv6、armv7、armv7s及arm64 - 转载
iOS 中的 armv7,armv7s,arm64,i386,x86_64 都是什么

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。