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 都是什么

你可能感兴趣的:(Undefined symbols for architecture i386: "_OBJC_CLASS_$_JPUSHRegisterEntity", referenced from: ...)