Pull up MYKEY to transfer. See the class definition for the parameters:TransferRequest and MYKEYWalletCallback
DApp server or client should query the user's ReserveKey from MYKEY SmartContract data to verify the signature, see detail in KEYS in MYKEY.
let transferData = TransferData()transferData.from = "mykeyhulu525"transferData.to = "madaraxliang"transferData.quantity = "1.31 EOS"transferData.memo = "transfer-memo"let transferActionData = TransferAction()transferActionData.account = "eosio.token"transferActionData.name = WalletActionConstants.TRANSFER.rawValuetransferActionData.info = "contract-transfer-info"transferActionData.data = transferDatalet contractActionData = ContractAction()contractActionData.account = "eosio"contractActionData.name = "buyram"contractActionData.info = "contract-contract-info"contractActionData.data = ["payer":"mykeyhulu123","receiver":"mykeyhulu111","quant":"1.01 EOS"]let contractRequest = ContractRequest()contractRequest.info = "Perform the mortgage REX operation"contractRequest.orderId = "BH19004"// param:{"protocol": "", "version": "", "tx_id": "", "ref": "", "account": ""}contractRequest.callbackUrl = "https://dappserver.xxx.url"contractRequest.actions = [transferActionData,contractActionData]MYKEYWallet.shared.contract(contractRequest: contractRequest, response: MYKEYResponse.init(success: { (response) inself.view.makeToast("success")}, failure: { (errorValue) inself.view.makeToast("failure")}, cancelled: {self.view.makeToast("cancelled")}))