問題タブ [lipo]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
898 参照

ios - iOS ファット バイナリ: すべてのアーキテクチャにビットコードを含める必要がありますか?

ビットコード対応アプリで使用するライブラリを構築する場合、ファット バイナリの各アーキテクチャを構築する必要があり-fembed-bitcodeますか、それともそのうちの 1 つだけですか?

ビットコードはアーキテクチャに依存せず、複製されるだけなので、そのうちの1つですか?

プリプロセッサ コマンドがアーキテクチャ (NSInteger 幅など) に基づいてコードを変更する可能性があるためです。

x86 スライスを除外すると、それ以外の場合duplicate symbol _llvm.cmdlineは発生しますか? - rdar://21884601

0 投票する
1 に答える
4523 参照

ios - iphoneos および iphonesimulator アーキテクチャを備えた iOS ユニバーサル フレームワーク

xcodebuildsdk をどちらかに設定してプロジェクトをビルドできますiphoneosiphonesimulator、両方に設定することはできません。そのため、armv7 arm64アーキテクチャを含むフレームワークを生成するには、 2 回i386 x86_64実行してから、すべてのアーキテクチャを 1 つのユニバーサル バイナリに結合する必要があります。これを行う商用フレームワークを見ましたが、フィールドがあり、すべての記号が.xcodebuildlipoinfo.plistCFBundleSupportedPlatformsCFBundleSupportedPlatforms = ( "iPhoneSimulator" )

lipoによって公式にサポートされていないため、この方法で使用するべきではないようですxcodebuld。すべてのアーキテクチャを含むフレームワークを構築するより良い方法はありますか?

0 投票する
1 に答える
81 参照

ios - 同じ設定の別のプロジェクトで動作している iOS プロジェクトでライブラリを使用することはできません

私は今、何日も私を夢中にさせているばかげた基本的な単純な問題で立ち往生しています!

ストーリーは次のとおりです。

  1. サードパーティのライブラリを使用すると、プロジェクトのビルドが停止します。
  2. このライブラリが使用され、正常にビルドされている別のサンプル プロジェクトがあります。
  3. "Project Build Settings""Target Build Settings"Xcodeの両方のビルド設定をすべて (文字通りすべて) チェックしましたが、すべて同じように見えます。
  4. 両方のプロジェクトのビルド設定のスクリーンショットを次に示します。

作業プロジェクト:ワーキングビルド設定

動作しないプロジェクト:ビルド設定が機能しない

  1. リンカー エラーのスクリーンショットを次に示します。 リンカ エラー 1 リンカ エラー 2 ここに画像の説明を入力
  2. すべてのlipo:can't open input fileエラーの質問とld: symbol(s) not found for architecture armv7エラーの質問を検索して見ましたが、どの回答もうまくいかないようです。Googleの検索結果だけを参考にしないでください。

  3. プロジェクトのクリーニング、ターゲットへのファイルの削除と再追加、両方のプロジェクトでリンクされたフレームワークの同期、派生データの削除、変更build active architecture only setting、および他の質問で提案された他の多くのことを試みました。

  4. 同じライブラリ ファイルが同じデバイスと Xcode および SDK で正常にコンパイルおよびリンクされているため、「arm64 などと互換性のある新しいバージョンのライブラリをベンダーに要求する」などの提案はしないでください。

  5. 私は OS X El Capitan で Xcode 7.1 を実行しています。プロジェクトを詳しく調べる必要がある場合は、TeamViewer アクセスを提供することもできます。

どんな助けも本当に感謝しています。私は本当にこれにこだわっています。

前もって感謝します。

0 投票する
1 に答える
1976 参照

build-error - Xcode 7.1.1 - 致命的なエラー: lipo: 入力ファイルを開けません

私は得ていますfatal error: lipo: can't open input file: /Users/.../libABC.a (No such file or directory)

スクリーンショット 1

で確認した後、このファイルが同じ場所に存在することをクロスチェックしました'Show in Finder'

ライブラリのビルド中にこのエラーが発生します。以下の解決策を試しましたが、うまくいきませんでした:

他の修正はありますか?

0 投票する
0 に答える
395 参照

ios - xcode7: ファイルは、リンクされているアーキテクチャではない x86_64 用にビルドされました (i386)

「Release-iphoneos」と「Release-iphonesimulator」という名前の 2 つのファイルがあり、これらのコマンドを使用して共通のフレームワークを作成しますが、「ファイルは x86_64 用にビルドされました。リンクされているアーキテクチャーではありません (i386)」というエラーが引き続き発生します。

リポ -作成 "Release-iphoneos/Fxencrypt.framework/Fxencrypt" "Release-iphonesimulator/Fxencrypt.framework/Fxencrypt" -output "Fxencrypt"

cp -R リリース-iphoneos/Fxencrypt.framework ./Fxencrypt.framework

mv Fxencrypt ./Fxencrypt.framwork/Fxencrypt

lipo -info はこれらです

lipo -info Release-iphoneos/Fxencrypt.framework/Fxencrypt ファット ファイルのアーキテクチャ: Release-iphoneos/Fxencrypt.framework/Fxencrypt は: armv7 arm64

lipo -info Release-iphonesimulator/Fxencrypt.framework/Fxencrypt ファット ファイルのアーキテクチャ: Release-iphonesimulator/Fxencrypt.framework/Fxencrypt は: i386 x86_64

lipo -info Fxencrypt.framework/Fxencrypt ファット ファイル内のアーキテクチャ: Fxencrypt.framework/Fxencrypt は: armv7 i386 x86_64 arm64

0 投票する
2 に答える
825 参照

xcode - XCode ユニバーサル ライブラリのビルド フェーズ - Lipo がファイルを見つけられない

XCode でユニバーサル ライブラリを作成する方法について、いくつかのチュートリアルとガイドを読みました。基本的には、bash スクリプト ビルド フェーズで集約ターゲットを追加して、個別のターゲットをビルドし、それらをまとめて lipo します。

私は自分の小さなスクリプトを持っています (ターゲットに名前を付けた方法で動作します) が、何らかの理由で lipo がファイルを見つけることができません。

致命的なエラー: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/lipo: 入力ファイルを開けません: /Users/username/Projects/project/plugins/build/Release-iphoneos/ libproject-plugins.a /Users/username/Projects/project/plugins/build/Release-macos/libproject-plugins.a (そのようなファイルやディレクトリはありません)

しかし、私が

  1. 失敗したビルドの直後にまったく同じ lipo コマンドを実行すると、すべてが機能し、ファイルが見つかります。
  2. スクリプトに bash ロジックを追加して、問題が解決しないファイルの作成を待ちます。
  3. lipoスクリプトの を単純な に置き換えlsます。ファイルはそこにあります。

何が問題なのかわかりませんxcodebuild.lipoが呼び出された後にのみファイルを作成するようには見えません(私が最初に考えたように)。

スクリプト;

0 投票する
1 に答える
6898 参照

ios - Apple は「lipo」コマンドの使用を推奨していますか?

動的フレームワークを開発し、それを配布して再利用する場合。シミュレータ (i386 および x86_64) とデバイス (arm7、arm7s、および arm64) アーキテクチャを 1 つに結合します。そのため、開発者はシミュレーターとデバイスでアプリをエラーなしで簡単に実行できます。

ユニバーサル フレームワークを提出しようとすると、AppStore はそれを拒否します。このエラーを修正するために、lipo コマンドを使用してシミュレータ アーキテクチャを削除します。

私の質問は、「lipo」コマンドの使用は Apple によって推奨されていますか?