問題タブ [objective-sharpie]
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 - Objective Sharpie を使用して Apple ResearchKit フレームワークをバインドできますか?
可能であれば、誰かがそれを行う方法を教えてもらえますか? Xamarin の Objective Sharpie を使用するのは初めてです。
c# - Typedef に関する Xamarin iOS バインディング ライブラリの問題
このプロジェクトhttps://github.com/Eclair/CircleProgressBarからバインド ライブラリを作成しようとしています。
Sharpie を使用して、ApiDefinition.cs と .a ファイルを生成します。
プロジェクトに .a ファイルをコピーし、生成された C# コードを ApiDefinition.cs ファイルに配置しました。ただし、生成されたコードはコンパイルされません。
問題は、これらの行だと思います
これらに変換されます
しかし、コンパイラは文字列を IntPtr に置き換えることを提案します。そうしても、プロジェクトがコンパイルされていても、CircleProgressBar をインスタンス化しようとすると、アプリケーションがクラッシュします。
xamarin - Sharpie バインディングの Objective-C @protocols の問題
コマンドを使用してライブラリのsharpie
bind
API インターフェイスを取得していますiOS
xamarin
@protocol
バインディングに問題がある:
生成方法は次のとおりです。
ProfileDelegate
空を作成してからコンパイラを作成するか、何かがメソッドで満たすことを理解していますが、私の問題はIProfileDelegate
見つからないことです。
ここでのI
シンボルの違い (これは @protocols 用に予約されていると思います)。sharpie
適切な API 定義を生成するにはどうすればよいですか?
すべてのプレフィックスを削除することができ、I
正常にコンパイルされますが、ソース ライブラリを更新する必要があるたびにこれを繰り返さないように修正したいと思います。
ありがとう
objective-c - Xamarin Binding: Xcode プロジェクトを解析できません: Pods/Pods.xcodeproj/project.pbxproj
Objective-C SDKの使用sharpie pod bind
をバインドしていますが、次のエラー メッセージが表示されました。
System.AggregateException: unable to parse Xcode project: Pods/Pods.xcodeproj/project.pbxproj
メッセージの詳細:
--->
System.ObjectDisposedException
: 破棄されたオブジェクトにアクセスできません。オブジェクト名: 'ストリームは閉じられました'. Xamarin.MacDev.PropertyListFormat+BinaryFormat.StartReading (System.IO.Stream 入力) の : 行 0
Xamarin.MacDev.PropertyListFormat.CreateReadContextSystem.IO.FileStream.get_Length ()
( System.IO.Stream 入力) の : 行 0 Xamarin. MacDev.PObject.FromStream (System.IO.Stream ストリーム) in:line 0 at Sharpie.Xcode.Project.PBXProjectFile..ctor (System.IO.Stream plistStream) in:line 0 at Sharpie.Xcode.Project.PBXProjectFile.. ctor (FilePath fileName) in :line 0 at Sharpie.Xcode.Project.XcodeProject..ctor (FilePath fileName) in :line 0 --- 内部例外スタック トレースの終わり --- at Sharpie.Xcode.Project.XcodeProject.. ctor (FilePath fileName) in :line 0
Sharpie.ParseTool.LoadXcodeProjectOptions (FilePath xcodeprojFile) で :0 行
目 Sharpie.ParseTool.Run () で :0 行
目 Sharpie.BindTool.CoreRun () で :0 行
目 Sharpie.BindTool.Run () で :0 行目
---> (内部例外 #0) System.ObjectDisposedException: 破棄されたオブジェクトにアクセスできません。
オブジェクト名: 'ストリームは閉じられました'. Xamarin.MacDev.PropertyListFormat+BinaryFormat.StartReading (System.IO.Stream 入力) の
行 0 の System.IO.FileStream.get_Length () で:行 0 の Xamarin.MacDev.PropertyListFormat.CreateReadContext (System.IO.Stream ) input) in :line 0 at Xamarin.MacDev.PObject.FromStream (System.IO.Stream stream) in :line 0
Sharpie.Xcode.Project.PBXProjectFile..ctor (System.IO.Stream plistStream) で :0 行
目 Sharpie.Xcode.Project.PBXProjectFile..ctor (FilePath fileName) で :0 行
目で..ctor (FilePath fileName) in :line 0 <---使用状況データを Xamarin に送信しています... 送信に失敗しました。テレメトリは次回提出します。エラー: Insights.PurgeAllPendingData がタイムアウトしました (15 秒待機)
終わり。エラー コード 1 で終了します。
ありがとう。
cocoapods
プロジェクトをバインドする他の方法はありますか?
xamarin.ios - Xamarin ios 委任
Xamarin で委任パターンを使用する正しい方法は何ですか?
API定義(によって生成されたsharpie
)では、プロトコルがInterface
SomeDelegateにマップされています:
次のようにView Controllerを宣言しました:
しかし、このようにプロトコルを実装するためにView Controllerを作成することはできません:(複数の基本クラスを持つことはできません)
delegate
これを追加のクラスに実装できます。
このクラスをデリゲートとして使用しますが、これは私にとってあまり便利な方法ではありません。
最近、「I」を追加することで次のことがわかりました。
これは基本クラスではなくインターフェース(プロトコル)であるとコンパイラーに明示的に言う(と思います)ことにより、「複数の基本クラスエラー」を回避します。
メソッドのパラメーターとしてデリゲートを渡す必要があり、コンパイルエラーが発生しました-SomeDelegate
型をに変換できませんSomeDelegate
(whatever)delegates
のようないくつかのクラスに実装する方法はありますか?UIViewController