Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 架构i386的未定义符号,仅在iPad模拟器上_Ios_Xcode_Ipad_Cocoapods - Fatal编程技术网

Ios 架构i386的未定义符号,仅在iPad模拟器上

Ios 架构i386的未定义符号,仅在iPad模拟器上,ios,xcode,ipad,cocoapods,Ios,Xcode,Ipad,Cocoapods,在我的项目中,有一个通过CocoaPods导入的名为JPush的框架 在iPhone设备和iPhone模拟器上一切都很好。但当我切换到iPad模拟器时,编辑者一直抱怨我没有在iPad设备上试用,因为我身上没有任何iPad 我收集了所有的iOS设备架构 arm64:iPhone6s | iphone6s plus|iPhone6| iPhone6 plus|iPhone5S | iPad Air| iPad mini2(iPad mini with Retina Display) armv7s:i

在我的项目中,有一个通过CocoaPods导入的名为JPush的框架

在iPhone设备和iPhone模拟器上一切都很好。但当我切换到iPad模拟器时,编辑者一直抱怨我没有在iPad设备上试用,因为我身上没有任何iPad

我收集了所有的iOS设备架构

arm64:iPhone6s | iphone6s plus|iPhone6| iPhone6 plus|iPhone5S | iPad Air| iPad mini2(iPad mini with Retina Display)
armv7s:iPhone5|iPhone5C|iPad4(iPad with Retina Display)
armv7:iPhone4|iPhone4S|iPad|iPad2|iPad3(The New iPad)|iPad mini|iPod Touch 3G|iPod Touch4

32-bits processor:
simulator: i386
real device: armv7 or armv7s
64-bits processor: 
simulator: x86_64
real device: arm64

因此,当出现相同错误时,请尝试使用file FILENAME命令来显示静态库支持的体系结构。

您试图链接的框架不包括i386切片:

libjpush-ios-3.0.9.a: Mach-O universal binary with 4 architectures: [arm_v7:current ar archive] [arm64]
libjpush-ios-3.0.9.a (for architecture armv7):  current ar archive
libjpush-ios-3.0.9.a (for architecture armv7s): current ar archive
libjpush-ios-3.0.9.a (for architecture x86_64): current ar archive random library
libjpush-ios-3.0.9.a (for architecture arm64):  current ar archive

不过,它确实包含一个x86_64片。为模拟iPhone 5S或更高版本选择64位iOS设备并重建。

我认为此错误来自派生数据,因此进入~/Library/Developer/Xcode/derivedata文件夹并再次运行。哇!你是怎么找到这些信息的?顺便说一句,我只想在iPad上测试我的项目。我的项目仅限于iPhone,但我仍然应该在iPad上测试它,以防UI布局不好,对吗?@JsW Apple总是在iPad上测试,以检查您的iPhone应用程序是否在iPad上工作。所以,你也应该在iPad上测试它。我在库上运行了file命令。你的目标产品是什么型号的iPad?试着选择一个较新的型号。@Daskwuff明白了!我知道了!32位模拟器在i386上运行,64位模拟器在x86_64上运行。所以我把模拟器换成了iPad Air,感觉就像一个64位的模拟器。谢谢,伙计!