小编Neo*_*Neo的帖子

找出Cocoa中可执行文件的位置

简单的问题是:如何在Cocoa应用程序中找出可执行文件的位置.

请记住,在许多类Unix操作系统中,人们使用PATH环境为其可执行文件分配首选位置,尤其是当他们的系统中有多个版本的相同应用程序时.作为一个好习惯,我们的Cocoa应用程序应该找到它需要的可执行文件的PREFERRED位置.

例如,/ usr/bin中的Leopard默认配置中有一个SVN 1.4,你通过/ opt/local/bin上的MacPorts安装了一个更新的版本,比如SVN 1.5.3.你可以使用/etc/path.d或.bash_profile或.zshrc设置你的PATH:

export PATH =/opt/local/bin:$ PATH

因此,您可以使用新版本的svn而不是系统中的旧版本.它适用于任何终端环境.但不是在Cocoa应用程序中.据我所知,Cocoa应用程序只有一个默认的PATH环境,如下所示:

export PATH ="/ usr/bin:/ bin:/ usr/sbin:/ sbin"

默认情况下,它不会使用/etc/path.d,.bash_profile,.profile,.zshrc等中的配置.

那我们究竟怎么办?

ps我们在这里一个半解决方案,但它不能完全满足这个问题的目标.

macos cocoa

6
推荐指数
4
解决办法
4259
查看次数

Instagram的Feed视图是基于UIWebView还是UITableView?

它看起来像UIWebView,但它们如何实现下载进度条和节条(非常流畅的滚动)......?

iphone

5
推荐指数
1
解决办法
2180
查看次数

Sails.js中的错误处理

我刚开始使用Sails.js,这是一个了不起的框架.但我遇到了一些情况,我找不到谷歌的解决方案,所以我来到这里寻求帮助.

我有一个控制器连接到另一个远程服务,使用非常旧设计的API,充满XML响应和不一致性,将该服务包装在简单干净的API中.所以我有一些路由器,如:

list: function(req, res) {
    params = {
        ...
    }

    FooService.request(data, function(error, response) {
        res.send(response)
    })

    process.once('uncaughtException', function(err) {
        res.send(500, '[Foo] ' + err);
    });
},
Run Code Online (Sandbox Code Playgroud)

'process.once'用于异步异常,可能在FooService.request进程中引发.我知道这是不好的代码,我的问题是:如何处理这种情况更多的Sails.js方式?

在Node.js中,我们有Domainconnect-domain,它们是针对这些问题而设计的.因为Sails.js基本上是Express,它可以很好地促进连接域,我认为可能有一些惯用的方法来做到这一点.

我试过在config/local.js中添加这个:

module.exports = {
    ...
    express: {
        customMiddleware: function(app) {
            console.log('Custom middleware config called')

            var domain = require('connect-domain')
            app.use(domain())
            .use(function(err, req, res, next) {
                console.log('Error catched!')
                res.send(500, '[Foo] ' + err)
            })
        }
    }
};
Run Code Online (Sandbox Code Playgroud)

当发生未捕获的异常时,它不会崩溃服务器并且错误500被返回到客户端('app.use(domain())'工作).但是没有调用自定义错误处理程序.不知道为什么.

sails.js

5
推荐指数
1
解决办法
5008
查看次数

标签 统计

cocoa ×1

iphone ×1

macos ×1

sails.js ×1