ソリューション内にXamarin.Mac
バインディングプロジェクトを作成します。
NativeReference
に追加します:sharpie
を使用してバインド
/System/Library/Frameworks/CryptoTokenKit.framework
を:
sharpie bind \
-o CryptoTokenKitFramework \
-namespace CryptoTokenKit \
-sdk macosx10.13 \
-f /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CryptoTokenKit.framework
あなたがApiDefinitionを削除することができますいずれかのように、結合プロジェクトテンプレートとシャーピーの出力の間に不一致があります。 csを追加し、ApiDefinitions.csを追加するか、作成したテンプレートを上書きするだけです。
mv CryptoTokenKitFramework/ApiDefinitions.cs CryptoTokenKitFramework/ApiDefinition.cs
(バージョンはそれら全体に変更されます)のような属性の数があるでしょう:
これらとして
[Watch (4,0), TV (11,0), Mac (10,12), iOS (10,0)]
は、iOS、ウォッチのプライベートフレームワーク、テレビなので、これらのプラットフォームを取り除きます。 Mac
属性と元のバージョンを残す:
[Mac (10,11)]
注:PlatformAttribute
が廃止されましたが、sharpie
はまだそれを使用している(?後方バージョンの互換性を(仮定))、あなたが本当にクリーンアップしたい場合はIntroduced
を使用することができますので、出力をビルド:
[Introduced (PlatformName.MacOSX, 10, 11, PlatformArchitecture.Arch64)]
レビュー/修正する必要がある属性がいくつかあります。すなわちTKSmartCardUserInteraction.Cancel
およびTKSmartCardSlot.MakeSmartCard
は両方ともプロパティではないメソッドである必要があります。
例/生成:
// -(TKSmartCard * _Nullable)makeSmartCard;
[NullAllowed, Export ("makeSmartCard")]
[Verify (MethodToProperty)]
TKSmartCard MakeSmartCard { get; }
が修正:
// -(TKSmartCard * _Nullable)makeSmartCard;
[NullAllowed, Export("makeSmartCard")]
TKSmartCard MakeSmartCard();
など、戻り値の型、ポインタ、悪いメソッドのシグネチャの束があり、[Verify]
属性とコンパイルエラーの残りの部分を修正..生成され、修正が必要です。
注:私の質問の@SushiHangoverに答えるため
Version: 3.4.0
SHA1: c12859dac8d43121b5a9ed866a0db8409f9df817
URL: https://dl.xamarin.com/objective-sharpie/ObjectiveSharpie-3.4.0.pkg
ありがとう:あなたの人生を容易にするため、最新の
Sharpie
バージョンを使用していることを確認してください。 SharpieでXcodeのフレームワークを使用する理由がありますが、システムフレームワークを参照として追加する理由はありますか? –コンパイルするときにエラーが発生する:/ Users/Koen/Developer/poc_digid/CryptoTokenKitFramework/CryptoTokenKitFramework/BTOUCH:エラーBI1017:bgen:「CertificateRef」パラメータのSecurity.SecCertificateの署名を作成する方法がわからないCryptoTokenKitFramework.TKTokenKeychainCertificate.Constructor(BI1017)(CryptoTokenKitFramework) –
次のコードでは、https://gist.github.com/anonymous/0d1aad180c111b726be1ec14dddd564e –