php エディタ Zimo の紹介: iOS アプリケーションを開発するとき、多くの場合、静的ライブラリを使用して関数を拡張したり、いくつかの共通ツール関数を提供したりする必要があります。 Go 言語を使用して開発する開発者は、go build コマンドを使用して iPhone シミュレーター用の静的ライブラリを構築する方法を疑問に思うかもしれません。この記事では、 go build コマンドを使用して静的ライブラリを構築する方法を詳しく紹介し、開発者が静的ライブラリの構築プロセスを正常に完了するのに役立ついくつかの実用的なヒントと注意事項を提供します。初心者でも経験豊富な開発者でも、この記事を読んで、静的ライブラリの構築に関する実践的な知識とヒントを得ることができます。
次の方法を使用して、ios プロジェクトに c アーカイブをビルドします。
goos=ios goarch=arm64 cgo_enabled=1 sdk=iphonesimulator cgo_cflags="-fembed-bitcode" cc=pwd
/clangwrap.sh go build -buildmode=c-archive -o libuplink .a
リーリー
Xcode でリンクし、シミュレーターを使用して実行しようとすると、デバイス自体でのみ実行できます:リーリー
go build のシミュレーターを Swift プロジェクトで使用される静的ライブラリとして位置付けるにはどうすればよいですか?
要件
tl;dr
実行先にシミュレータを選択すると、xcodeと同様のことができます。したがって、基本的には、
-arch arm64 の代わりに
-target arm64-apple-ios16.2-simulator のようなものを使用します。また、
-mios-version-min=10.0 も省略します。実際の最小バージョンは -target (例: 16.2) でエンコードされているため、それが優先されます (エミュレータの正しいオプションは
とにかく -miphonesimulator-バージョン-min) .
cgo_ldflags として、
-target オプション、
-syslibroot および SDK へのパスも指定します。
これは、エミュレータをターゲットとして指定し、最小バージョンは 15 です。
build.sh リーリー
target.sh リーリー
clangwrap.sh
その後、clangwrap.sh は次のように簡略化されます:
リーリー
######詳細######
別の SDK
iOS デバイスと iPhone シミュレーターには異なる SDK を指定する必要があります。これらは、xcode でサポートされている他のプラットフォームの隣にあります。/applications/xcode.app/contents/developer/platforms の下。たとえば、xcode 14.2 などでは、iphoneos16.2.sdk
を含むiphoneos プラットフォームと、
iphonesimulator16.2.sdk iphonesimulator を含む
があります。 ### プラットホーム。
Apple 開発者フォーラムの Apple 従業員が次の興味深い投稿を投稿しました: https://developer.apple.com/forums/thread/673387#662260022
コマンド用に生成された静的ライブラリを検査するには、次のコマンドを呼び出します。 リーリー Apple Silicon シミュレーター用に生成された静的ライブラリには、次のように表示されるはずです:
リーリー注: platform 7
はシミュレーターを表し、
は最小のデプロイメント ターゲットを表し、
sdk は使用される実際の SDK バージョンを表します。
インクルード ファイル loader.h
のセクションを参照してください:
リーリー
次のように、システム上で自分で表示できます:
iPhone デバイス専用に構築
iPhone SDK の静的ライブラリを構築するには、以下を変更する必要があります:
リーリー上記の build.sh スクリプト内。
otool -l 出力は次のように表示されます:
リーリー
は、エミュレータではなく、platform_ios
を表します。
これはもちろんデバイス上で完全に動作します。
以上がgo build を使用して iPhone シミュレーター用の静的ライブラリを構築するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。