标签: osx-lion

升级到OSX Lion后,ruby进程内存泄漏

我几周前升级到了Lion,它完全被Ruby on Rails环境搞砸了.我已经安装了RVM,不同的ruby版本,似乎无法找到它的解决方案...我认为这是我可以做升级到Lion的最糟糕的决定之一.它只给我带来了问题.

无论如何,我已经意识到渲染我的应用程序页面(在部署的服务器上运行得很好,在其他机器上也可以在本地运行)会增加20-30mb的ruby进程内存,这有点疯狂.所以你可以想象,经过一段时间,我的ruby进程在使用中达到了2GB的内存,我的计算机不再可用了.

我见过许多人在升级到Lion时遇到问题,但我无法找到解决方案.

有没有同样的问题?任何想法我怎么能尝试解决这个问题?

谢谢

ruby macos ruby-on-rails osx-lion

7
推荐指数
1
解决办法
395
查看次数

使用Xcode 4在Mac OS X Lion上设置SDL

我一直试图让一个超级简单的SDL程序工作.我正在使用Mac OS X Lion.我有SDL在Snow Leopard工作,但它似乎不想在狮子身上工作.到目前为止我有这个:

#include <iostream>
#include "SDL/SDL.h"

using namespace std;

/*
#ifdef main
#  undef main
#endif
*/

int main( int argc, char* args[] )
{
    SDL_Surface* hello = NULL;
    SDL_Surface* screen = NULL;
    SDL_Init( SDL_INIT_EVERYTHING );
    screen = SDL_SetVideoMode( 640, 480, 32, SDL_SWSURFACE );
    hello = SDL_LoadBMP( "hello.bmp" );
    SDL_BlitSurface( hello, NULL, screen, NULL );
    SDL_Flip( screen );
    SDL_Delay( 2000 );
    SDL_FreeSurface( hello );
    SDL_Quit();

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

当我尝试编译此代码时(在Xcode 4.1中),它给了我这个错误:

Undefined symbols for architecture x86_64:
  "_main", referenced …
Run Code Online (Sandbox Code Playgroud)

macos sdl xcode4 osx-lion

7
推荐指数
1
解决办法
9737
查看次数

如何在OS X Lion上安装JPype以与Neo4j一起使用?

我正在尝试将Neo4j用于一个项目,并希望通过Python与它进行交互,因为我是编程的新手并且不知道任何Java.我正在按照安装说明操作,但我坚持第一步,即安装JPype.

我正在使用OS X 10.7(狮子).我认为我的配置非常标准,从Python网站下载的Python 2.7.2和从Apple网站下载的Java 1.6.0.

我跑的时候

% sudo python setup.py install
Run Code Online (Sandbox Code Playgroud)

在JPype安装程序中,我得到大约100行关于各种.h文件的错误代码,然后它以行终止:

lipo: can't figure out the architecture type of: /var/tmp//
ccwOzLi9.out

error: command 'gcc-4.2' failed with exit status 1
Run Code Online (Sandbox Code Playgroud)

我发现了一篇关于JPype的gcc错误博客文章,但我按照那里的说明无济于事.我还通过电子邮件发送了该帖子的作者,他告诉我从未实际使用过JPype,曾经在OS X 10.6中工作,并且没有任何见解.

我还通过电子邮件发送了JPype的创建者,他告诉我他只使用Windows,并且不知道如何在OS X上安装.但是如果我们能解决这个问题,我可以指出他的答案,也许他可以添加JPype文档的解决方案,也帮助了很多其他人!

那么,有谁知道我做错了什么?我想使用Neo4j,但我不懂Java,所以我完全不知道如何解决编译错误.

基于阅读所有可用的Google结果,我的两个运行理论是:

  1. 我在某种程度上使用32位版本的Python或Java(虽然我使用标准的官方安装,但无法弄清楚如何切换到64位或甚至可能)

  2. JPype文件只能使用GCC 4.0而不是4.2编译.但我无法在网上找到有关如何回滚到GCC 4.0的任何内容(或者它是否附带2011款MacBooks,并且有一些方法可以强制JPype使用它进行编译).

还有另一个类似的问题,但解决方案是使用不同的适配器,通过REST而不是直接挂钩到Java.如果必须,我会尝试,但如果可能的话,我宁愿使用推荐的Neo4j方法.

python java gcc neo4j osx-lion

7
推荐指数
2
解决办法
5005
查看次数

HOWTO:NSWindow是否处于全屏模式(Lion)并启用/禁用?

我花了很多时间搞清楚如何确定我的NSWindow是否处于全屏模式,以及如何启用/禁用它进入或退出全屏模式.当我将视图设置为另一个视图的动画或执行某些进入或退出全屏模式的内容时,这非常有用.类似于锁定窗口的大小.

答案如下.

objective-c fullscreen nswindow osx-lion

7
推荐指数
1
解决办法
3871
查看次数

有没有办法同时运行2个NSAnimation对象?

我创建了两个NSAnimation用另一个视图翻转视图的对象.我想同时运行2个这些动画.我无法使用NSViewAnimation,因为它现在是关于任何视图属性的动画.

这是动画创作:

self.animation = [[[TransitionAnimation alloc] initWithDuration:1.0 animationCurve:NSAnimationEaseInOut] autorelease];
[self.animation setDelegate:delegate];
[self.animation setCurrentProgress:0.0];

[self.animation startAnimation];
Run Code Online (Sandbox Code Playgroud)

我试图链接2个动画,但可能由于某种原因它不起作用.我举了一个例子: Apple开发者网站

配置NSAnimation要使用的对象NSAnimationNonblocking根本不显示任何动画...

编辑:第二个动画与第一个动画完全相同,并在创建第一个动画的同一个地方创建.

TransitionAnimation是一个子类NSAnimation,setCurrentProgress看起来像这样:

- (void)setCurrentProgress:(NSAnimationProgress)progress {
    [super setCurrentProgress:progress];
    [(NSView *)[self delegate] display];    
}
Run Code Online (Sandbox Code Playgroud)

delegateNSView在这种情况下,在其功能的drawRect施加时间依赖CIFilter于一个CIImage.问题是它运行同步,第二个动画在第一个动画结束后立即开始.有没有办法同时运行它们?

cocoa objective-c core-image osx-lion nsanimation

7
推荐指数
1
解决办法
2859
查看次数

覆盖NSDocument窗口标题中的"已编辑"

如何防止窗口标题显示为"脏"的NSDocument的"已编辑"?

我正在使用网络服务管理自己的保存和自动保存,只是不想在标题栏中分心.

我试过压倒:

  • NSDocument的-isDocumentEdited-hasUnautosavedChanges始终返回NO.
  • -[NSWindowController setDocumentEdited]什么都不做,或总是使用NO不管参数的实际值.
  • -[NSWindowController synchronizeWindowTitleWithDocumentName] 什么都不做
  • -[NSWindow setDocumentEdited]什么都不做,或总是使用NO不管参数的实际值.

在所有情况下,当我对保存的文档进行更改时,标题栏仍会更改为"已编辑".

如果我覆盖-[NSDocument updateChangeCount:]并且-[NSDocument updateChangeCountWithToken:forSaveOperation:]什么都不做,我可以防止这种情况发生,但它也会影响保存,自动保存和其他文档行为.

我也试过这个:

[[self.window standardWindowButton: NSWindowDocumentVersionsButton] setTitle:nil];
Run Code Online (Sandbox Code Playgroud)

这显示一个空白字符串而不是编辑,但破折号仍然出现 - 通常分隔文档名称和编辑.

知道如何从文档中撬开这部分窗口吗?

cocoa nsdocument nswindow nswindowcontroller osx-lion

7
推荐指数
1
解决办法
2063
查看次数

glClear之后的OpenGL无效帧缓冲操作(GL_COLOR_BUFFER_BIT);

每次打完电话后glClear(GL_COLOR_BUFFER_BIT);,我都会收到OpenGL错误"无效的帧缓冲操作".

电话似乎工作正常,似乎没有错.我glClear(GL_COLOR_BUFFER_BIT);::paintGL()方法中首先调用.

咦?我应该忽略这个错误吗?

opengl error-handling qt framebuffer osx-lion

7
推荐指数
1
解决办法
8547
查看次数

使用MAMP在Mac OSX上构建/安装XDebug

我在使用MAMP在Mac OSX上构建/安装XDebug时遇到问题.

到目前为止,我在网上进行了广泛的搜索,目前我被困在XDebug"安装向导"的一部分,它告诉我在我下载的源代码上"运行:phpize".

当我运行时,phpize我收到以下消息:

new-host-2:xdebug-2.2.0 Dima$ phpize
grep: /usr/include/php/main/php.h: No such file or directory
grep: /usr/include/php/Zend/zend_modules.h: No such file or directory
grep: /usr/include/php/Zend/zend_extensions.h: No such file or directory
Configuring for:
PHP Api Version:        
Zend Module Api No:     
Zend Extension Api No:  
Cannot find autoconf. Please check your autoconf installation and the
$PHP_AUTOCONF environment variable. Then, rerun this script.
Run Code Online (Sandbox Code Playgroud)

如果我做了which phpize我得到:

new-host-2:xdebug-2.2.0 Dima$ which phpize
/usr/bin/phpize
Run Code Online (Sandbox Code Playgroud)

这不是我想要使用的版本,我想使用phpize我假设的MAMP安装版本,因为我想在MAMP版本的PHP上安装XDebug.这很令人费解,因为我已将MAMP特定的PHP bin路径添加到我的.bash_profile中$PATH.

如果我跑echo $PATH我得到:

new-host-2:xdebug-2.2.0 …
Run Code Online (Sandbox Code Playgroud)

php mamp xdebug osx-lion

7
推荐指数
2
解决办法
1万
查看次数

在MacOSX上使用Captive Network Assistant连接到VPN

Apple推出了MacOSX Lion(10.7)的新功能,称为Captive Network Assistant.在我看来,它只是一个无用而烦人的功能.它的目的是帮助您登录需要身份验证的网络(请参阅:Captive Portal),但该功能不存储cookie或保存密码.

在我的大学里,我们也使用这样一个网络,要求用户登录.登录不是通过浏览器而是通过VPN进行的,这使得强制网络助手完全无用且烦人.

所以我在这里发布了一个关于如何用实际有用的东西替换这个"功能"的指南,我不希望它丢失并对其他人有用

#1.创建名为"Captive Network Assistant"的bash脚本,将以下代码粘贴到内部,并在/ System/Library/CoreServices/Captive Network Assistant.app/Contents/MacOS/中替换您的文件.

#!/bin/bash
scriptlocation="/System/Library/CoreServices/Captive Network Assistant.app/Contents/MacOS/vpn.scpt"
osascript "$scriptlocation"
Run Code Online (Sandbox Code Playgroud)

#2.创建名为"vpn.scpt"的applescript,将其放在bash脚本中提到的路径下,并将以下代码放在:

set wlanssid to do shell script "networksetup -getairportnetwork en1 | cut -c 24-"
connectVPN(wlanssid)

on connectVPN(SSID)
    tell application "System Events"
        tell current location of network preferences
            local VPNService
            if (SSID = "XYZXYZ") then --WLANNAME
                set VPNService to service "XYZXYZ-VPN" --VPNNAME
                set isConnected to connected of current configuration of VPNService
                if not isConnected then
                    connect …
Run Code Online (Sandbox Code Playgroud)

vpn autologin osx-lion osx-mountain-lion

7
推荐指数
0
解决办法
4999
查看次数

我无法卸载Git

我试图在Mac OS X 10.7上更新我的git版本,但它没有改变版本.它仍然在2.0.

如果我跑,

rm -rf /usr/local/git
rm /etc/paths.d/git
rm /etc/manpaths.d/git
Run Code Online (Sandbox Code Playgroud)

新版本被卸载,但旧版本仍然存在(git仍然是一个有效的命令).

如何找到安装此"ghost"版本的目录?

git macos uninstall osx-lion

7
推荐指数
1
解决办法
2万
查看次数