Xcodeで使うためにTagLib1.11.1のframeworkを作成・導入する方法
以前に、TagLibをSwiftで使うためのframeworkを作る方法を記載致しましたが、1.11.1だとうまくコンパイルできなかったので、試行錯誤してみました。
どのような事象が発生するのかというと、同じようにコンパイルすると、frameworkが作られません。
taglib.aができあがり終了します。
そこでググった結果、まず「BUILD_SHARED_LIBS=ON」をcmake オプションに付ければ良いというのがあったのでやってみました。
確かに、frameworkは作られるのですが、それでアプリを実行すると、dylibが見つからないエラーが表示され落ちます。
そこでさらにググった結果、こちらの記事が見つかりました。
この記事を読んでいくと、詳細なファイル変更方法がこちらに載っているので実行してみました。
しかし、同様にアプリが落ちて起動できません。
最終的にエラー内容を見て推測した結果、以下の方法でうまくいくようになりました。
- Taglib1.11.1をダウンロードし、解凍
- こちらに記載してあるように、CMakeLists.txtとConfigureChecks.cmakeのみ変更
- 以下のオプションでcmakeする
cmake -DCMAKE_BUILD_TYPE=Release \ -DBUILD_FRAMEWORK=ON \ -DCMAKE_C_COMPILER=/usr/bin/gcc \ -DCMAKE_CXX_COMPILER=/usr/bin/c++ \ -DCMAKE_OSX_SYSROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/ \ -DCMAKE_OSX_DEPLOYMENT_TARGET=10.10 \ -DCMAKE_OSX_ARCHITECTURES="x86_64"
※ SYSROOTとDEPLOYMENT_TARGETは環境に合わせて設定 - make
- sudo make install
- /LIbrary/Frameworks/にtag_frameworkとtag_c.frameworkができあがるので、tag_frameworkをどこかに移動する
- terminalでコピーしたtag.frameworkがある場所に移動する
- 以下のコマンドを実行する。
sudo install_name_tool -id @rpath/tag.framework/Versions/1.17.0/tag tag.framework/Versions/1.17.0/tag
- XcodeのEmbedded Binariesへ追加する
これで無事使えるようになりました。
- 詳細! Swift 3 iPhoneアプリ開発 入門ノート Swift3 + Xcode 8対応
- posted with Rocolinker
- ソーテック社 2016-11-05
- Amazon
- 楽天市場
- Yahooショッピング
- 詳解Swift 第3版
- posted with Rocolinker
- SBクリエイティブ 2016-12-27
- Amazon
- 楽天市場
- Yahooショッピング
- Swift実践入門 ── 直感的な文法と安全性を兼ね備えた言語 (WEB+DB PRESS plus)
- posted with Rocolinker
- 技術評論社 2017-02-07
- Amazon
- 楽天市場
- Yahooショッピング