IBM MFP - настройка сообщения администратора - PullRequest
0 голосов
/ 29 мая 2018

См. Прикрепленное изображение.В настоящее время мы создаем сообщения с сообщениями системного администратора, используя ff.IMAGE 1

Мы получаем сообщение об обслуживании системы: ff:

IMAGE 2

Теперь, что мыхотел бы сделать это, настроить приглашение этого сообщения.Можно ли это сделать?У значения настройки есть свои собственные формулировки для заголовка (вместо «Отключено приложение»), а также наш собственный внешний вид и подсказка для приглашения.

Мы уже выполнили настройку принудительного обновления приложения путем использования ловушки onErrorRemoteDisableDenialв WL.Client.init.Можно ли это сделать тоже для этого?

1 Ответ

0 голосов
/ 29 мая 2018

Да, вы можете сделать это и изменить пользовательский интерфейс всплывающего уведомления «Отключено приложение» с помощью обработчика вызова для проверки безопасности wl_remoteDisableRealm.

Ниже приведен пример кода обработчика запроса * 1004.* который я написал в быстром.

//
//  RemoteDisable.swift
//  PinCodeSwift
//
//  Created by Vittal Pai on 11/21/17.
//  Copyright © 2017 Sample. All rights reserved.
//

import Foundation
import IBMMobileFirstPlatformFoundation

class RemoteDisable : SecurityCheckChallengeHandler {

    //SecurityCheck name
    static let securityCheck = "wl_remoteDisableRealm"

    //Register this class as a challenge handler
    static func registerSelf() {
        WLClient.sharedInstance().registerChallengeHandler(RemoteDisable(securityCheck: securityCheck))
    }

    override func handleChallenge(_ challenge: [AnyHashable: Any]!) {
        NSLog("%@",challenge)

        guard let challangeInfo = challenge as? [String: Any] else {
            self.cancel()
            return
        }

        guard let messageId = challengeInfo["messageId"] as? String else {
            self.cancel()
            return
        }
        var message = challengeInfo["message"]

        if  message == nil {
            message = "Your own message"
        }

        self.submitChallengeAnswer(["messageId": messageId])
        showPopup(messageId,remainingAttempts: 1)
    }

    override func handleFailure(_ failure: [AnyHashable: Any]!) {

    }

    func showPopup(_ errorMsg: String, remainingAttempts: Int){
        let message = errorMsg + "\nRemaining attempts: " + String(remainingAttempts)

        let alert = UIAlertController(title: "Protected",
                                      message: message,
                                      preferredStyle: .alert)
        alert.addTextField { (textField) -> Void in
            textField.placeholder = "PIN CODE"
            textField.keyboardType = .numberPad
        }
        alert.addAction(UIAlertAction(title: "OK", style: .default, handler: { (action) -> Void in
            let pinTextField = alert.textFields![0] as UITextField
           // self.submitChallengeAnswer(["pin": pinTextField.text!])
        }))
        alert.addAction(UIAlertAction(title: "Cancel", style: .cancel, handler: { (action) -> Void in
          //  self.cancel()
        }))

        DispatchQueue.main.async {
            let topController = UIApplication.shared.keyWindow!.rootViewController! as UIViewController
            topController.present(alert,
                                  animated: true,
                                  completion: nil)
        }


    }

    func showError(_ errorMsg: String){
        let alert = UIAlertController(title: "Error",
                                      message: errorMsg,
                                      preferredStyle: .alert)
        alert.addAction(UIAlertAction(title: "OK", style: .default, handler: nil))

        DispatchQueue.main.async {
            let topController = UIApplication.shared.keyWindow!.rootViewController! as UIViewController
            topController.present(alert,
                                  animated: true,
                                  completion: nil)
        }
    }

    override func handleSuccess(_ success: [AnyHashable: Any]!) {
        NSLog("ha1ndleSuccess: %@",success)
    }

}
...