問題タブ [bitcode]
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.
python - Xcode / mod_pbxproj: ENABLE_BITCODE の設定方法
PostProcessBuild属性によってトリガーされる Python スクリプトから呼び出されるmod_pbxproj.pyを使用して、Unity3D で生成された Xcode プロジェクトを変更しようとしています。iOS 9 の新しい警告 で説明されている問題のため、ENABLE_BITCODE = NOを設定する必要があります。
私は Python 初心者で、Xcode PBX の内部構造についてあまり知りません。私はいくつかの呼び出しを試しました
または配列、辞書などのバリアント。私が試したすべてのことは、仕事をしなかったか、システムログにエラーを投げました. 最後に、必要なことを行う mod_pbxproj.py のパッチになりました。
と
現在、呼び出しproject.add_other_buildsetting ('ENABLE_BITCODE', 'NO')
はほぼ期待どおりに機能します。Xcode でオプションを手動で設定したときに気付いた 2 つの変更ではなく、pbxproj ファイルに 5 つのエントリがありました。とにかく、これまでのところうまくいくようです。
しかし、よく知られているソフトウェアにパッチを当てるのはかなり奇妙に感じられ、標準の mod_pbxproj.py を使用してbuildSettingsツリーのルートにオプションを追加 (または変更) できないとは信じられません。
これはどのように達成できますか?
編集: mod_pbxproj の私のフォーク
ios - Xcode 7.0.1 により、Linker Command Failed with Exit code 1 エラーが発生しました
昨日、MacBook Pro を El Capitan にアップデートしました。Xcode 6.1
アップデート以来、Xcodeが開かなかったXcode 6.1
が、ダウンロードXcode 7.0.1
を強制されたので、アップグレードしたくありませんでしたが、強制されました。Objective-C でアプリを作成しました。それをアップルに提出し、現在「保留中の開発者リリース」です。
何かを変更したいのですが、どこからともなく でXcode 7.0.1
受け取ったことのないエラーが表示されXcode 6.1
ます。
Xcode 7.0.1 で求められていることを行うにはどうすればよいですか?
ios - XCode 6 との下位互換性を維持するために、Bitcode を使用して iOS ライブラリを構築します。方法は?
iOS スタティック ライブラリを構築しており、ビットコードのサポートを提供したいと考えています。それを達成するために、ビルド設定に移動し、「カスタム コンパイラ フラグ」を検索して、-fembed-bitcode を追加します。これにより、ビットコードでライブラリがビルドされ、XCode 7 ですべて正常に動作します。
ただし、上記のアプローチに従うと、XCode 6 との下位互換性が失われます。そうは言っても、ユーザーに 2 つの異なるライブラリ バージョンを出荷する必要があります。
2 つの異なるバージョンを出荷することなく、ビットコード対応ライブラリを使用して後方互換性を維持する方法はありますか?
アップデート:
こんにちは @Vinicius Jarina さん、メッセージありがとうございます。一般的な慣行であると思われるファットライブラリを作成できることを理解しています。私がこれまで行っていたのは、両方のアーキテクチャ用に構築することでした:
次に、lipo を呼び出して、次のようなファット ライブラリにパッケージ化します。
しかし、どうすれば今それを行うことができますか?このリンクに基づいてこのようなことを試しましたが、運がありませんでした:
次に、次のようなファット ライブラリを作成します。
scipt にビルドして両方を含めてから、fat-library にパッケージ化するにはどうすればよいですか?
更新 2:
私は最終的にこれを機能させることができました。同じ問題に直面する可能性のある他の人のための解決策をここにリストします。
次に、次のようなファット ライブラリを作成します。
compilation - iOS9、エンタープライズ アプリのビットコード
確認してください:
ビットコードは、コンパイルされたプログラムの中間表現です。ビットコードを含む iTunes Connect にアップロードしたアプリはコンパイルされ、App Store でリンクされます。
アプリのコンパイルとリンクを行うのはApp Storeですが、エンタープライズ アプリはどうでしょうか。
ユーザーが必要なスライスをデバイスにダウンロードして、最小限のファイルサイズでアプリをすばやく更新できるため、この iOS9 の機能が気に入っています。ビットコードは Xcode 7 でデフォルトで有効になっていますが、エンタープライズ アプリの場合、アプリの更新をエンタープライズ サーバーにアップロードし、クライアント ユーザーはリンクを介してサーバーからダウンロードします。このプロセスにあるアプリ ストアはありません。
Bitcode が有効になっているエンタープライズ アプリで問題ありませんか? もしそうなら、誰がコンパイルとリンクの義務を負いますか?