go build を使用して iPhone シミュレーター用の静的ライブラリを構築する
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 プロジェクトで使用される静的ライブラリとして位置付けるにはどうすればよいですか?
要件
- iPhone シミュレーター用の静的ライブラリを作成する
- インテル エミュレータの代わりに Apple シリコンを使用します
- 特定の最小バージョンを実現できる機能
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 サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Go Crawler Collyのキュースレッドの問題は、Go言語でColly Crawler Libraryを使用する問題を調査します。 �...

GoLandを使用する場合のGolandのカスタム構造タグの問題に関して、Go Language Developmentに使用する場合、いくつかの構成の問題に遭遇することがよくあります。それらの1つは...

大企業または有名なオープンソースプロジェクトによって開発されたGOのどのライブラリが開発されていますか? GOでプログラミングするとき、開発者はしばしばいくつかの一般的なニーズに遭遇します...

Go言語での文字列印刷の違い:printlnとstring()関数を使用する効果の違いはGOにあります...

ポインター構文とviperライブラリの使用における問題への取り組みGO言語でプログラミングするとき、特にポインターの構文と使用を理解することが重要です...

GO言語のパフォーマンス最適化戦略大規模なURLアクセスこの記事では、GO言語を使用して大規模なURLアクセスを処理する問題に関するパフォーマンス最適化ソリューションを提案します。 CSVからの既存のプログラム...

GO言語プログラムが実行されているとき、デバッグモードと通常の操作モードを区別する方法は?多くの開発者は、さまざまなオペレーティングモードに従ってGOプログラムを開発したいと考えています...
