問題タブ [xamarin.ios-binding]
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.
xamarin - F# Fake が "btouch-native.exe が無効です" エラーで Xamarin.iOS バインディングをビルドしようとしています
Xamarin.iOS カスタム バインディングを使用した Xamarin.iOS ソリューションがあり、Visual Studio for Mac の Mac OS で問題なくビルドできます。しかし、F# Fake を使用して同じソリューションをビルドし、Mac OS ビルド サーバーで同じバージョンのツールを使用してスクリプトをビルドしようとすると、次のエラーが発生します。
/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/iOS/Xamarin.iOS.ObjCBinding.CSharp.targets(58,3): 指定されたタスク実行可能場所 "/Library/Frameworks/Mono.framework/Versions/5.4 .1/lib/mono/xbuild/Xamarin/iOS/btouch-native.exe」は無効です。
を確認したObjCBinding.CSharp.targets
ところXamarin.iOS.ObjCBinding.CSharp.props
、何らかの理由で Mac OS ビルド ホストが非 Unix システムとして扱われていることがわかりました。
また、ツールを検索しBTouchToolExe
てここで見つけ、.prop ファイルをこのパス (すべてのプラットフォーム用) で更新しました。多くの問題が発生したため、症状だけを修正するよりも根本的な原因を見つける必要があると思います。
/Library/Frameworks/Xamarin.iOS.framework/Versions/11.6.1.3/bin/btouch-native
ビルド ホストで Visual Studio for Mac を使用して同じソース コードをビルドしようとしました。これは完全に正常に動作するため、F# Fake およびビルド スクリプト (ほとんどがデフォルト) の何らかの問題のようです。私のセットアップは(最新かつ最高)です:
- Mac OS ビルド ホスト
- 単核症
5.4.1
- Visual Studio for Mac
7.3.3
- Xamarin.iOS
11.6.1.3
ビルド ホストで間違っている可能性のある構成はどれですか?
c# - C# バウンド ライブラリ メソッドは実装パラメーターを受け入れません
Xamarin.iOS で新しい SnapChat Creative Kit を実装しようとして、Objective Sharpie を使用して SDK フレームワークをバインドしました。他の SDK の公式ドキュメント (swift と obj-c の実装手順のみが含まれています) に従っている間、問題はありません - ログイン キットの実装に成功しました - コンテンツを SnapChat に送信しようとしているときに、このコードでつまずきました。
特に、 Documentationでは、コンテンツを API に送信するために、次のコードが使用されます。
ドキュメントによると、
SCSDKPhotoSnapContent は、SCSDKSnapContent プロトコルの実装です。Snapchat で共有するための写真スナップをモデル化する方法を提供します。
これが私のC#実装です:
問題は、SCSDKSnapAPI コンストラクターが抽象クラスである SCSDKSnapContent のみを受け入れ、その実装ではなく、それを呼び出すとエラーが発生することです。
CS1503 引数 1: 'SCSDKCreativeKit_Bindings.SCSDKPhotoSnapContent' から 'SCSDKCreativeKit_Bindings.SCSDKSnapContent' に変換できません
編集:
ApiDefinition.cs
次のような別のコンストラクターを追加してみました。
コードがビルドされましたが、コールバック時に SnapChat から次のエラー コードを受け取りました。
SnapEncryptionMetadataUnexpectedStatusCode
c# - MT5211: ネイティブ リンクに失敗しました。Objective-C クラスが未定義です
Objective-C フレームワークからバインディングを作成しました。正しく動作していますが、Xamarin.iOS プロジェクト (リンク フレームワーク SDK のみ) をリンクしようとすると、このエラーが発生します。
MTOUCH: エラー MT5211: ネイティブ リンクに失敗しました。未定義の Objective-C クラス: GLKView。シンボル '_OBJC_CLASS_$_GLKView' は、アプリケーションにリンクされているライブラリまたはフレームワークのいずれにも見つかりませんでした。(MT5211)
マイクロソフトのドキュメントでは、バインディング プロジェクトに[プロトコル]属性を追加するように指示されています。
ApiDefinition.csに属性を追加しようとしました。最初はクラスの上に、次にクラスが持つすべてのメソッドとインターフェイスの前に、成功しませんでした。
私は何を間違っていますか?