- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的应用程序使用 Cocoa Framework Sparkle 来部署更新。我通常不会部署软件的测试版,但对于下一次更新,我觉得我需要这样做。我的问题是使用 Sparkle 部署测试版的最佳编号策略是什么。对于测试我的测试版的任何人,我希望在发布下一个正式版本时能够无缝更新,但对于其他用户,我希望整个系统完全不可见。我目前使用 1.2.3 等编号系统进行更新。
最佳答案
我最近也考虑这样做。我的应用程序的开发设置是 Xcode(显然)和 Sparkle,我在 Mercurial 存储库中维护我的代码。作为构建过程的一部分,我使用“hg id”查询 Mercurial 来填充 Info.plit。这是在我的 Xcode 目标的构建脚本中完成的。这是脚本:
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion `/usr/local/bin/hg id -in`" "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}"
/usr/libexec/PlistBuddy -c "Set :CFBundleShortVersionString `/usr/local/bin/hg id -t`" "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}"
因此,对于测试版,我可以将我的变更集标记为“0.29b”或其他任何名称。为了让想要获得 Beta 版本的用户实现 SUUpdater 委托(delegate)方法:
#pragma mark -
#pragma mark SUUpdate Delegate methods
- (NSArray *)feedParametersForUpdater:(SUUpdater *)updater sendingSystemProfile:(BOOL)sendingProfile {
if([[NSUserDefaults standardUserDefaults] boolForKey:BSEnableBetaUpdates]) {
return [NSArray arrayWithObjects:[NSDictionary dictionaryWithObjectsAndKeys:@"beta", @"key", [NSNumber numberWithBool:YES], @"value", @"Enable beta updates", @"displayKey", @"Yes", @"displayValue", nil], nil];
} else {
return nil;
}
}
其中 BSEnableBetaUpdates 是用户在我的首选项窗口中设置的常量。其作用是确保对 feed url 的 GET 请求包含 beta=1。在服务器上,您可以解释这一点并提供测试版本的应用广播,或者如果正常版本不存在的话。我不会解释你如何做到这一点,无论是使用 php、.htaccess 等等。
关于cocoa - 部署 Beta 软件更新和 Sparkle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1146954/
有什么理由担心通过 Mountain Lion 上的 Sparkle 框架更新应用程序(如果有)? 如果我使用开发者 ID 证书签署新版本,Sparkle 下载它并用新版本替换旧版本,是否有理由相信开
我正在使用Sparkle第一次,并且在开展工作时遇到困难。当我检查更新时,它正确检测到较新的版本,下载它,取消存档,然后给出以下错误: Update Error! An error occurred
我正在开发一个 Cocoa 应用程序,并使用 Sparkle framework用于更新。我需要检查启动时是否有新版本可用。我将 SUCheckAtStartup 键添加到 info.plist 并将
我正在做一个需要使用两个变量的Mac代理,每次用户下载代理时都需要设置这两个变量,我的第一次尝试是修改Info.plist文件并为 Sparkle 进行签名,但之后我意识到每次我修改该文件并进行签名时
我是第一次使用sparkle框架。我正在尝试对其进行测试,一切正常,只是它无法正确显示更新版本。例如,这是我在服务器上的 xml 文件: Your Great App's Chang
我在我的应用程序中使用 Sparkle,并通过运行 shell 脚本构建阶段对框架进行签名,效果很好,没有构建错误。问题是,没有通过 Sparkle 进行更新,更新程序说: an error occu
我目前正在构建一个基于 Qt C++ 框架的项目,该项目利用 Sparkle 框架进行更新。我遇到的问题是我的整个应用程序构建得很好,除非我包含了 Sparkle 框架。 Sparkle.framew
我正在使用 Sparkle从 0.9.2 更新应用程序至 1.0.0 . 在新的更新中,我更改了 CFBundleIdentifier的 MyApp.app来自 com.MyCompany.MyApp
有人可以告诉我如何在 Sparkle 中签署 mac 应用程序的更新吗? 我检查了https://github.com/sparkle-project/Sparkle/wiki/publishing-
我的应用程序使用 Cocoa Framework Sparkle 来部署更新。我通常不会部署软件的测试版,但对于下一次更新,我觉得我需要这样做。我的问题是使用 Sparkle 部署测试版的最佳编号策略
我正在使用 Java 的 Spark Web 框架和 Freemarker 模板引擎。我有这样的 html 代码: 当我想包含这些放在我的资源/公共(public)目录中的 css
一些使用 Sparkle 框架的应用程序开发人员在他们的应用程序中保留旧版本(通过使用多个 标签)。 我认为,如果 Sparkle 在自上次更新以来发生多次更新时(例如,用户从 4.0.0 版升级到
我使用 Sparkle 为我的应用程序提供更新。 该过程非常简单且基本:应用程序的更新被压缩,XML appcast 向 Sparkle 提供该 zip 的 URL。 一切都按预期进行,Sparkle
我在 Xcode 5 中使用 Sparkle 框架。当我构建时,我看到以下警告。有没有办法在不改变 Sparkle 使用 GC 的事实的情况下禁用(安静)此警告? 谢谢! 最佳答案 使用up-to-d
对于那些在 Mac App Store 之外分发 Mac 应用程序的人,您计划如何支持更新和沙箱?我猜目前大多数人的答案是否定的,但我希望最终非 MAS 应用程序可以像 MAS 应用程序一样被沙箱化。
有谁知道我将如何在我的 Swift 应用程序中进行设置?我已尝试使用 cocoa 说明进行设置,但我的应用程序在查找框架时遇到问题。似乎 Swift 不再有框架文件夹了。 我应该采取什么步骤来启动和运
我正在向 Mac 程序添加一项功能,以删除其首选项 .plist 文件,然后使用有效的“出厂设置”重新启动。然而,客户对此持怀疑态度,不愿使用 Sparkle 等外部框架。我在网上查找示例代码,但其中
我正在使用 Sparkle 向我的 OS X 应用程序分发更新。它对我的大多数用户来说运行良好,但我收到少数用户的报告,称“检查更新”已被禁用。 我在网上能找到的唯一其他示例来自从未见过启用“检查更新
我完全陷入了一个可能非常简单的操作......将 Sparkle 添加到在 Xcode 4 中创建的项目中。我做了这些操作: 将 Sparkle.framework 添加到我的项目中(拖放) 添加到“
我对这个网站有影响 http://www.immersive-garden.com/有这个闪光点,悬停时你会得到背景,我想要类似的东西而不使用闪光灯这是我现在正在使用的脚本 /* Particle E
我是一名优秀的程序员,十分优秀!