问题标签 [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 - WorldPayCSE 的 Xamarin IOS 绑定库
我需要在 xamarin 表单中为 IOS 和 android 使用 worldPay CSE(客户端加密)SDK(https://developer.worldpay.com/docs/wpg/clientsideencryption),所以我创建了 2 个绑定库。我已经成功地为 android 创建了一个包装器,这工作正常,但我遇到了 IOS 问题。
我下载了https://github.com/Worldpay/worldpay-cse-lib-ios并按照以下教程创建绑定库并使用客观 Sharpie https://www.xamboy.com/2020/07映射 API 定义/20/creating-a-xamarin-binding-library-for-ios-and-android-part-1/
我能够构建解决方案,它似乎是从头文件创建对象,但是当我运行 worldpayCSE.Encrypt(wpCardData, out NSEncryptError) 方法时,出现以下错误:
抛出 Objective-C 异常。Name: NSInvalidArgumentException Reason: -[NSTaggedPointerString isEmpty]: unrecognized selector sent to instance 0xff2d7cc5da80afba Native stack trace: 0 CoreFoundation 0x000000010b2ebfba __exceptionPreprocess + 242 1 libobjc.A.dylib
0x000000011c694ff5 objc_exception_throw + 48 2 CoreFoundation
0x000000010b2fad2f +[NSObject(NSObject) instanceMethodSignatureForSelector:] + 0 3 CoreFoundation
0x000000010b2f04cf转发+ 1455 4 CoreFoundation
0x000000010b2f27a8 _CF_forwarding_prep_0 + 120 5
Test3dsecureSolution.iOS 0x000000010a6d180a -[WPCardValidator validateNumber:withExpectedLength:] + 61 6 Test3dsecureSolution.iOS 0x000000010a6d18ba -[WPCardValidator validateMonth:] + 48 7 Test3dsecureSolution.iOS 0x000000010a6d153e -[WPCardValidator validate:] + 117 8
Test3dsecureSolution.iOS 0x000000010a6d3b66 +[WorldpayCSE validate: ] + 72 9 Test3dsecureSolution.iOS
0x000000010aa41089 xamarin_dyn_objc_msgSend + 217 10 ???
0x00000001592f5e10 0x0 + 5791243792
它似乎在验证方法上失败了。但是,当我在 xcode 中运行本机演示项目时,它工作正常,所以我很确定问题不在于框架文件,我怀疑我可能遗漏了一些东西
我检查了 API 定义,而 2 个验证标签确实标记了。它们似乎与 GetPublic Key 和 GetJson 有关。两者都不需要接触xamarin IOS,看起来是红鹭
我已将我的解决方案的副本推送到 git hub 上。加密方法是从about页面的按钮通过依赖服务触发到WorldPayClient.cs的IOS实现
https://github.com/Law85/XamarinForms.WorldPayCSEBinding
这也是我为生成 API 定义和 strut sharpie bind --output=WorldpayCSE --namespace=WorldpayCSE --sdk=iphoneos14.5 /Users/lukewinthorpe/Desktop/WorldPay/WorldpayCSE.framework/Headers/* 运行的脚本。 h -scope /Users/lukewinthorpe/Desktop/WorldPay/WorldpayCSE.framework/Headers
任何人都可以帮助我的方式将不胜感激。
谢谢卢克
unity3d - 如何减少使用 UnityFramework.framework 创建的 DLL 大小?
我已经为生成的 UnityFramework.framework 创建了一个 DLL(使用 Xamarin.iOS 绑定),并且我能够在我现有的 Xamarin.iOS 项目中成功使用这个 DLL。UnityFramework.framework 大小约为 89.4MB,DLL 大小为 20.4MB。为了减少 dll 大小在 Unity 项目中,我应用ASTC block 8X8 compression
到我的纹理,并从构建设置中将压缩方法设置为LZ4HC
. 这将我的 .framework 大小减少到 76MB。我的问题是通过绑定项目生成的 .dll 。它已从 20MB 增加到 21MB。当我浏览 .dll 文件时,我意识到.text
文件大小比以前的版本增加了。
- 如何正确减小 .dll 的大小?
.text
文件大小增加的原因是什么?- 有没有办法读取位于生成的 .dll 文件中的这个 .text 文件?
请帮我。提前致谢。
c# - Xamarin:接口和协议继承问题
背景:
- 我正在使用 Xamarin:使用 Visual Studio for Mac 的表单。
- 我正在集成 Brother Print SDK v4。
- 我已成功使用 Objective Sharpie 并调整 ApiDefinitions.cs 和 Structs.cs 文件以使用 v3 SDK。
- v4 SDK 使用的协议和接口与其前身略有不同。
问题:
我有一个界面:
我有一些代码:
问题:
我的理解是 RJPrintSettings 对象应该与 IBRLMPrintSettingsProtocol “可互换”。但是,我得到以下信息:
CS1503: Argument 2: cannot convert from iosBinding.BRLMRJPrintSettings to iosBinding.IBRLMPrintSettingsProtocol
我已经做了我能想到的一切,但一直无法解决这个问题。有什么建议么?