問題タブ [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 - CollectionView - ItemsLayout をプログラムで更新する際の問題
項目ソースをバインドした後、プログラムで更新していCollectionView.ItemsLayout
ますが、Android では正常に動作しますが、iOS では動作しません。iOS アプリは例外/エラーをスローしませんが、アプリケーションがハングし、出力ウィンドウを見ると以下のメッセージが表示されます。
レイアウトの計算中 (再入可能呼び出し) に、レイアウト情報を更新しようとする試みが検出されました。これにより、予期しない動作やクラッシュが発生します。これは、デリゲートの呼び出し中にレイアウト パスがトリガーされた場合に発生する可能性があります。UICollectionViewFlowLayout インスタンスは (<Xamarin_Forms_Platform_iOS_GridViewLayout: 0x7fb2940ec010>)
prepareLayout 呼び出しが既に進行中 (つまり、再入可能な呼び出し) にレイアウトを準備しようとしても、無視されました。バグを報告してください。UICollectionView インスタンスは (<UICollectionView: 0x7f9e68a73000; フレーム = (0 0; 355 360); clipsToBounds = YES; autoresize = W+H; GestureRecognizers = <NSArray: 0x600003039c20>; layer = <CALayer: 0x600007e6e180>; contentOffset: {0, 0}; contentSize: {1, 0}; AdjustContentInset: {0, 0, 0, 0}; レイアウト: <Xamarin_Forms_Platform_iOS_GridViewLayout: 0x7f9e647972e0>; dataSource: <Xamarin_Forms_Platform_iOS_GroupableItemsViewController_1: 0x7f9e64797940>>)
私のXAML:
私の XAML.cs:
xamarin.ios - 起動時にアプリが閉じる - Xamarin iOS 用の Redpark SDK Binding
ネイティブ フレームワークRedpark Serial SDK 1.0.5をバインディング ライブラリ (名前: RedparkBinding) に変換し、プロジェクトの 1 つで使用しています。
ウォークスルー: iOS Objective-C ライブラリの バインド RedparkBinding プロジェクトのビルド結果で、各手順を慎重に実行しました。
しかし、私は奇妙な問題に直面しています。起動時にアプリがクラッシュします (理由: NullReferenceException - SDK 内には、常に null になるシングルトン クラスがあります)。
詳細:
- これは、DEBUG モードと RELEASE モードで発生します。
- サポートされるアーキテクチャは ARM64 です
- リンカーの動作 : リンク フレームワーク SDK のみ
- ネイティブ SDK サンプルは完全に実行されます。
ネイティブ iOS アプリケーションでも使用されているため、ライブラリ自体が期待どおりに機能していることはわかっています。Binding プロジェクトの構成で不足しているものを見つけようとしています。
私の .a ライブラリに関連付けられているソース .h ファイルは次のとおりです。
そして、これがsharpieで作成されたC#関連のインターフェースです
.a ファイルの LinkWith オプションは次のとおりです。
[assembly: LinkWith("libRedparkBinding.a”, SmartLink = true, ForceLoad = true)]
そして Makefile ファイル:
また、必要なすべてのファイル(ネイティブ ライブラリ フレームワーク、ネイティブ ライブラリ サンプル コード、バインディング コード、SDK ユーザー ガイド) をここに添付します。
コミュニティからの提案に感謝します。