【问题标题】:Share constants between iOS client code and Parse cloud code在 iOS 客户端代码和 Parse 云代码之间共享常量
【发布时间】:2016-01-03 15:20:41
【问题描述】:

我有一个使用 Parse 作为后端的 iOS 应用。在那里,一些云代码被执行。
两者必须共享相同的常量。
我可以通过obj-c #import在客户端共享这些常量,也可以通过module.exports/require在云代码端共享。
但是如何在客户端代码和云代码之间共享它呢?两次定义相同的常量很容易出错。

【问题讨论】:

    标签: ios parse-platform parse-cloud-code


    【解决方案1】:

    Parse 提供了一个可以像类一样查询的配置对象(在 iOS 中返回 NSDictionary)。此外,它可以通过 parse.com 上的 Web UI 进行配置。 See docs here.

    启动时,您的应用可以检索配置并将其缓存在本地。您可以选择半永久地缓存它(例如,使用NSUserDefaults),然后无限期地使用本地副本。我通常选择一些固定的有效期(比如每周,所以我的常数不是很恒定)。启动逻辑是,如果现在和我上次获取配置之间的间隔超过一周,则再次获取并替换。

    【讨论】:

    • 感谢您的回答。看起来很有趣。我会调查的。
    • 如果我理解正确的文档,客户端应用程序和云代码可以读取类 Config。它返回一个字典,例如与常数。但是,客户端和云代码都必须使用相同的密钥,这必须在客户端和云中进行硬编码——在两个地方,我想避免。我说的对吗?
    • 你是对的。没有办法避免在客户端中包含密钥。密钥应该被认为是不安全的。必须使用 ACL 和类级别的控件来保护数据。
    • 对。主密钥是秘密的,不应在应用程序中。应用程序将仅使用应用程序密钥和客户端密钥之一分发,具体取决于平台。
    • 是的。 global.json 是开发环境配置(用于解析控制台应用程序的配置)并保持私有。 Config 仅包含您在解析网络应用程序上定义的变量,并且(我在原始答案中忘记了这一事实)将在初始获取后为您在本地缓存。它与 global.json 100% 分开。
    猜你喜欢
    • 2018-01-15
    • 1970-01-01
    • 1970-01-01
    • 2010-12-10
    • 2011-03-09
    • 2011-01-29
    • 2021-12-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多