iOS 64 bit compatibility

前端 未结 1 2007
太阳男子
太阳男子 2021-02-02 02:14

This morning I got an e-mail from Apple saying the following:

Dear Developer,

As we announced in October, beginning February 1, 2015 new iOS a

相关标签:
1条回答
  • 2021-02-02 02:25

    With the settings you have you should end up with arm64 and armv7 in your binary. You won't get armv7s because although it's a valid architecture, it's not included in ARCHS_STANDARD if building on Xcode 6 (See also).

    Just because it runs on a 64 bit device, it doesn't mean that it has 64-bit support. 64-bit devices can run 32-bit apps.

    To determine whether or not it contains an arm64 chunk, you need to find the application. Go to Xcode preferences, and select the Locations tag. The Derived Data line tells you where files are being built.

    XCode settings : Locations

    Open up a Terminal (Finder->Applications->Utilities->Terminal) and go to that location using the 'cd' command. In my case, my project is stored in ~/MyProject

    $ cd ~/MyProject
    $ cd build
    $ find . -name MyTarget
    ./build/MyTarget
    ./build/MyTarget/Build/Products/Debug-iphoneos/MyTarget.app/CoreControl
    ./build/MyTarget/Build/Products/Debug-iphoneos/MyTarget.app.dSYM/Contents/Resources/DWARF/CoreControl
    

    Now we know where the binary is stored (it's the second result), we can check it to see what architectures it contains:

    $ dwarfdump ./build/MyTarget/Build/Products/Debug-iphoneos/MyTarget.app/MyTarget
    ----------------------------------------------------------------------
     File: ./build/MyTarget/Build/Products/Debug-iphoneos/MyTarget.app/MyTarget (armv7)
    ----------------------------------------------------------------------
    .debug_info contents:
    < EMPTY >
    

    In my case, I only have arm7 built, not arm64.

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