创建自动为最终用户调用方法的 iOS 框架

Create iOS framework that calls methods for the end user automatically

提问人:Derek Hannah 提问时间:11/8/2019 最后编辑:luk2302Derek Hannah 更新时间:11/8/2019 访问量:76

问:

嘿,我有一个 iOS 问题,我开始创建一个框架,现在它只有一个类和一个方法

open class MyFramework: NSObject {
    open class func verifySell() -> Bool {
        return true;
    }
}

因此,该框架的用户只需在他们的应用程序中随时随地使用它即可

import UIKit
import MyFramework

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        let canSell = MyFramework.verifySell()
        print("MyFramework can sell = \(canSell)")
    }


}

有没有办法让这个框架与生命周期事件联系起来?

我希望它在应用程序启动时自动调用此方法,或者当它从前台返回时等。因此,开发人员基本上只需要安装框架,然后它就可以为他们完成。开发人员不必担心在自己的代码中调用此方法(已编辑)

或者你认为让开发人员在他们认为合适的任何地方调用框架方法是一种更好的 API 设计?

最终,这个 verifySell() 方法将进行一个网络调用,如果我们可以向客户销售,则返回 true 为 false,然后可能会以某种方式将框架存储在 NSUserDefaults 中的某个地方

iOS Swift iPhone Cocoa-Touch 框架

评论

3赞 Scriptable 11/8/2019
“最终,如果我们可以向客户销售,这个 verifySell() 方法将进行一个网络调用,该调用将返回 true 作为 false,然后可能以某种方式将框架存储在 NSUserDefaults 中的某个地方” 当然,SDK 用户需要将某些信息传递给此方法,以便它有足够的信息来做出决定, 因此,SDK 用户最好调用它并传递任何所需的信息。
0赞 Derek Hannah 11/8/2019
框架可以只是从 nsuserdefaults 或其他东西中获取某种唯一标识符(例如令牌)吗?
1赞 Scriptable 11/8/2019
如果已设置。我认为框架的用户最好调用它并传递参数,然后他们知道正在发送什么信息以及何时发送。如果您尝试自动触发它,则时间可能错误,数据可能尚未设置等
0赞 Derek Hannah 11/8/2019
无论如何,有没有办法自动调用此方法?
2赞 Scriptable 11/8/2019
没有。。。我的意思是,在一个普通的应用程序中,你可以只监听某些通知的发布并做出相应的反应,但要做到这一点,你需要开始监听这些通知,而用户没有调用你的任何代码,你的任何代码都不会运行来启动它。在某些时候,用户需要在框架上调用某些东西才能执行任何操作。即使这只是一个寄存器或初始化调用。

答: 暂无答案