iOS simulator on mac is running i386 architecture, not armv7?

前端 未结 4 1541
清歌不尽
清歌不尽 2021-02-19 03:00

I\'ve got some static libraries I\'ve built for use on armv7 architectures. When I try to use them in a iOS project which I testrun on the iphone 5.0 simulator, I get errors tel

相关标签:
4条回答
  • 2021-02-19 03:32

    So I guess this means the iphone simulator wants libraries compiled for i386? What is the point of the simulator then - why dosn't it emulate armv7 architecture as well?

    You've answered your own question. It's a simulator, not an emulator. Therefore it is a Mac OSX program, running on i386 architecture. If you compile your static libraries for i386 as well you will be able to use them on the simulator.

    0 讨论(0)
  • 2021-02-19 03:32

    You can actually compile the app through Xcode command line tool using i386 architecture (there is also a way to run it in Xcode UI by modifying the build settings).

    xcodebuild -sdk iphonesimulator6.1 -arch i386 VALID_ARCHS="i386 armv7 armv7s" clean install
    

    Run this command in the directory that you have the projectName.xcodeproj file.

    Here's a break down of the script:

    -sdk iphonesimulator6.1 // Build the app on iPhone simulator 6.1
    -arch i386 // Build your app using i386 architecture
    VALID_ARCHS="i386 armv7 armv7s" // Specify these architectures are valid
    clean install // Clean all the builds then re-build and install
    
    0 讨论(0)
  • 2021-02-19 03:36

    If you want to try simulators with i386 just go for =< iPhone 5.

    0 讨论(0)
  • 2021-02-19 03:47

    I am not very sure but i386 is for Simulator and armv7 is for Devices that you have connected to your Machine.

    0 讨论(0)
提交回复
热议问题