質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
CPU

CPUは、コンピュータの中心となる処理装置(プロセッサ)で中央処理装置とも呼ばれています。プログラム演算や数値計算、その他の演算ユニットをコントロール。スマホやPCによって内蔵されているCPUは異なりますが、処理性能が早いほど良いとされています。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Q&A

0回答

534閲覧

CPUアーキテクチャを考慮したPodfileの書き方

thirdesr34

総合スコア36

CPU

CPUは、コンピュータの中心となる処理装置(プロセッサ)で中央処理装置とも呼ばれています。プログラム演算や数値計算、その他の演算ユニットをコントロール。スマホやPCによって内蔵されているCPUは異なりますが、処理性能が早いほど良いとされています。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

0グッド

0クリップ

投稿2022/07/16 23:51

前提

XcodeでiOSとmacOS向けのアプリを作成しています。Mac Catalystを利用してリソースを共有しています。
オープンソースのライブラリをCocoaPodsで導入し利用しています。
Podfileの書き方に詳しい方教えてください。

実現したいこと

CPUアーキテクチャによって対応するライブラリが異なるため、同じビルドターゲットであっても異なるデバイス向けにビルドした場合は別々のライブラリを利用したいと考えています。例えば、macOS向けにはVLCKit, iOS向けにはMobileVLCKitというライブラリを利用したいです。

下記のようなPodfileを書くと、iOS向けのビルドでは成功しますが、Mac向けのビルドでは失敗します。

Podfile

1use_frameworks! 2target ‘DemoPlayer’ do 3 pod 'MobileVLCKit' 4end

これはMobileVLCKitがIntel macOS向けではないためで、本来VLCKitの方を利用する必要があります。
解決策の一つとしては下記のようにビルドターゲットをデバイス毎に分けてPodfileを書く方法が考えられます。

Podfile

1use_frameworks! 2target ‘DemoPlayer_iOS’ do 3 pod 'MobileVLCKit' 4end 5target ‘DemoPlayer_macOS’ do 6 pod 'VLCKit' 7end

ただ、この方法ではビルドターゲットの管理が煩雑になってしまいます。
これまでMac Catalystを利用して他のライブラリをすべて共有できているため、できるだけ同じターゲット構成のままで維持したいです。

発生している問題・エラーメッセージ

Mac向けのビルドでは下記のメッセージでMobileVLCKitのビルドに失敗します。(ARMアーキテクチャ対応なので当然ですが…)

warning: [CP] Unable to find matching .xcframework slice in '/Users/xxxxxx/Documents/CSVideoPlayer-master/Pods/MobileVLCKit/MobileVLCKit.xcframework MobileVLCKit framework ios-arm64_i386_x86_64-simulator ios-arm64_armv7_armv7s' for the current build architectures (x86_64).

試したこと

Podfileの書き方を色々と検索しましたが、ビルドターゲット毎にライブラリを分けるぐらいしか見つからず、CPUアーキテクチャでライブラリを分ける方法が見つかりませんでした。

補足情報(FW/ツールのバージョンなど)

Xcode 13.4.1
CocoaPods 1.10.1

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

thirdesr34

2022/08/01 00:23

有難うございました。ライブラリ側をよく調査するのも必要ですね。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問