[英]Testing 32 bit iOS app on iPhone 5s or 64 bit simulator
I have an app that uses a third party library. 我有一个使用第三方库的应用程序。 There is a bug in the 64 bit version of the library so I had to revert to the 32 bit version of the framework.
库的64位版本中存在一个错误,因此我不得不恢复到该框架的32位版本。 I would like to test this release on a 5s but from XCode it will try to build in 64 bit and because of this 32 bit framework the build will fail.
我想在5s上测试此版本,但是从XCode它将尝试以64位构建,并且由于此32位框架,构建将失败。 I need to release a version but since I'm unable to test on the 5s or 64 bit simulator I'm reluctant to do so.
我需要发布一个版本,但是由于我无法在5s或64位模拟器上进行测试,因此我不愿意这样做。 So it there any way to get the app on the iPhone or run it on the 64 bit simulator without having to build the 64 bit version?
因此,是否有任何方法可以在iPhone上获取应用程序或在64位模拟器上运行它而无需构建64位版本?
The iPhone is provisioned and I've used it for testing the 64 bit so it is not an issue. iPhone已配置完毕,我已将其用于测试64位,因此这不是问题。
Thanks in advance 提前致谢
In Build Settings, change Architectures
to $(ARCHS_STANDARD_32_BIT)
. 在“构建设置”中,将“
Architectures
”更改为$(ARCHS_STANDARD_32_BIT)
。
Then choose iPhone Retina (4-inch 64-bit)
for the simulator. 然后为模拟器选择
iPhone Retina (4-inch 64-bit)
。
It will build a 32 bit version of your app but run it on the 64 bit simulator. 它将构建您应用程序的32位版本,但可以在64位模拟器上运行。 Note that the simulator is running on OS X and OS X doesn't support 32 bit anymore, so we have always been running 32 bit apps on 64 bit hardware in the simulator.
请注意,模拟器正在OS X上运行,而OS X不再支持32位,因此我们一直在模拟器中的64位硬件上运行32位应用程序。 It works fine, as long as you don't need some types to be 64 bit (eg: CGFloat is accurate to significantly more decimal places when complied for 64 bit).
只要您不需要某些类型为64位的类型,它就可以正常工作(例如:当编译为64位时,CGFloat可以精确到小数点后的位数)。
I have met the similar situation but the opposite side.I use Fastlane to get app screen capture, Fastlane tool only can run on simulators,but I found every time: 我遇到了类似的情况,但情况恰恰相反。我使用Fastlane来获取应用程序屏幕截图,Fastlane工具只能在模拟器上运行,但每次都发现:
Undefined symbol(s) for architecture i386
This is because there is a .a
library only support x86_64
,So I tried to solve the problem according to the above answer.I changed Architectures
to $(ARCHS_STANDARD_64_BIT)
. 这是因为有一个
.a
库仅支持x86_64
,所以我尝试根据以上答案解决问题。我将Architectures
更改为$(ARCHS_STANDARD_64_BIT)
。
So I can run the project on the newer simulators with only 64 bit architecture! 因此,我可以在只有64位体系结构的较新模拟器上运行该项目!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.