Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
34
Help us understand the problem. What is going on with this article?
@shintaness

iOS で Universal Static Library を作る方法

More than 5 years have passed since last update.
  • 複数のアーキテクチャで作成されたStatic Library (*.aファイル)を一つにまとめることが出来ます。
  • 環境ごとに設定ファイルを変更して、Static Libraryを設定する必要がないので便利です。

作り方

  • Xcodeがインストールされている前提(確認済みの Xcodeのバージョンは 6.1.1になります)
  1. 実機用バイナリをコマンドラインでビルドします

    • 最近のトレンドに合わせて armv7, armv7s, arm64 としています
    xcodebuild -project Test.xcodeproj -sdk iphoneos -configuration Release -arch armv7 -arch armv7s -arch arm64 clean build
    
  2. シミュレータ用バイナリをコマンドラインでビルドします

    • 最近のトレンドに合わせて i386, x86_64 としています
    xcodebuild -project Test.xcodeproj -sdk iphonesimulator -configuration Release -arch i386 -arch x86_64 clean build
    
  3. 上記でビルドした a ファイルを結合

    xcrun -sdk iphoneos lipo -create build/Release-iphonesimulator/libTest.a build/Release-iphoneos/libTest.a -output build/Release-universallib/libTest.a
    
    

確認

  1. ただしく出来たか確認

    xcrun lipo -info build/Release-universallib/libTest.a
    
    

    この例だと

    Architectures in the fat file: build/Release-universallib/libTest.a are: armv7 armv7s i386 x86_64 arm64
    
    

    こんな感じで表示されるはず。

34
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
34
Help us understand the problem. What is going on with this article?