我正在努力使用 xCode 5 自动化发布 Mac 应用程序的过程。该应用程序仅在 Mac App Store 之外分发(直接分发)。我知道我可以添加一个要在构建阶段执行的运行脚本来自动化该过程。我目前正在使用 Craig Williams 的 ruby 脚本来实现应用广播自动化。脚本位于: https: //github.com/CraigWilliams/appcastautomation/blob/SnowLeopard/appcast_automation.rb
我的问题是:验证和分发步骤是否必要?如果代码签名已完成,我是否可以简单地运行自动化脚本并使用脚本生成的 .zip 文件,还是必须执行下面列出的步骤,然后使用脚本处理“导出的”应用程序?
我目前的流程如下:
获得“导出的”.app 文件后,我将通过终端手动运行脚本来创建 Sparkle appcast 所需的 .zip 文件。我希望跳过 xCode 导出过程作为自动化分发的第一步。
如何从NSTableView允许排序的列表中删除排序指示器?我正在 Xcode 8.3.x 中工作,并使用 macOS 的 Swift 3 进行编程。
我有一个NSTableView作为 an 的属性NSViewController。当用户单击标题单元格时,我已经实现了排序。这一切都按预期进行。
首次加载表时,它是未排序的,并且没有可见的排序指示符(这是所需的行为)。单击标题单元格后,数据将被正确排序,并且排序指示器将添加到标题单元格中。到目前为止一切都很好。
现在我有一个按钮可以重新加载未排序的表。单击该按钮确实成功重新加载数据(未排序),但排序指示器仍然存在(但具有误导性)。我想在按下“加载未排序”按钮时删除排序指示器,因为指示器现在是错误的(列表未排序),但在按下“加载未排序”按钮之前的最后一次排序中该指示器仍然可见。
我尝试过tableView.setIndicatorImage(newImage, in: column)将指示器设置为零或 1 像素图像,但它什么也没做。
我也尝试过drawSortIndicator但没有成功。
为了让表最初加载未排序的数据,我为不存在的列添加了排序,并且在初始加载时,我对该列进行排序。这允许我始终显示排序列表 - 未排序的列表实际上在“无”列上排序。
所以,最终,我希望加载表格而不进行排序。我希望允许排序,并且希望能够重新加载为未排序,从而删除可能存在的任何排序指示符。
class AppInfoViewController: NSViewController {
@IBOutlet weak var tableView: NSTableView!
var dataDict: [AppInfo] = AppInfoManager.sharedInstance.appInfoArray
var sortOrder = AppInfoManager.ColumnOrder.None
var sortAscending = true
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
tableView.delegate = self
tableView.dataSource = self
tableView.target = …Run Code Online (Sandbox Code Playgroud)