小编Unc*_*MiF的帖子

git在推/拉时加密/解密远程存储库文件

是否可以在传输到远程存储库之前通过'git push'自动加密文件?并在'git pull'时自动解码它们.

即,如果我有一些远程服务器与git存储库共享访问,我不希望我们的项目没有权限被盗...也许在推和拉之前有一些特殊的git-hooks?

git encryption

41
推荐指数
4
解决办法
2万
查看次数

是否可以使用Google Chrome打开自定义网址方案?

我有协议(如http)与在Mac OS XIe中注册的第三方应用程序管理的方案,x-someapp:// someaction或类似的东西.

如何使用Google Chrome打开此网址?默认情况下,Chrome会开始在Google引擎中搜索,而不是启动App并将URL处理传递给它...

Safari推出了一些注册的App.这是对的.

Firefox和Opera询问该怎么做......我也可以启动App.

但Chrome ......不问.

我甚至试图在里面写一些带有JavaScript的HTML页面来发送XHttpRequest:

function _httpExecuteCallback()
{
 if (httpRequestCallbackFunction != null) {
  if (httpRequest.readyState == 4) {
   if (httpRequest.status == 200) {
    httpRequestCallbackFunction();
    httpRequestCallbackFunction = null;
   }   
  }
 }
}

function _httpGet(url, callbackFunction)
{
 httpRequest = false;
 httpRequestCallbackFunction = callbackFunction;
 httpRequest = new XMLHttpRequest();
 httpRequest.onreadystatechange = _httpExecuteCallback;
 httpRequest.open('GET', url, true);
 httpRequest.send(null);
}


_httpGet('x-someapp://test',function(){})
Run Code Online (Sandbox Code Playgroud)

没有结果......

ajax macos google-chrome

24
推荐指数
3
解决办法
3万
查看次数

强制更新 Cocoa 应用程序主菜单的 NSMenu(嵌套子菜单)

    \n
  1. 我插入了一些子菜单作为主菜单的窗口项子菜单
  2. \n
  3. 我有一个从 NSObject 继承的对象实例(假设其类名为 MenuController),并支持 NSMenuDelegate 方法中的 2 个:\n\xe2\x80\x93 numberOfItemsInMenu:\n\xe2\x80\x93 menu:updateItem :atIndex:应该取消:
  4. \n
  5. 该实例作为蓝色对象添加到 NIB 中以便在运行时唤醒
  6. \n
  7. 将步骤 2-3 中的对象配置为子菜单的委托(步骤 1)
  8. \n
\n\n

现在,我可以在运行时提供子菜单内容。

\n\n

接下来,我执行以下操作:我可以添加新项目或从数组(包含菜单标题的 MenuController 内部)中删除旧项目,该数组通过协议和委托映射到真实的子菜单。\n一切都很好。\n除了一件事:我喜欢分配快捷方式到我的动态菜单项。\nCMD-1、CMD-2、CMD-3 等

\n\n

窗口 / MySubmenu / MyItem1 CMD-1, MyItem2 CMD-2, ...

\n\n

因此,为了调用某些项目,我不想去 Window / MySubmenu / MyItem 通过鼠标单击它,我只想按一个快捷键,例如 CMD-3 来调用该项目。

\n\n

好的,定期它会按预期工作。但是,一般来说,我无法通知主菜单有关嵌套子菜单的更改,除非打开 Window / MySubmenu 重新加载其内容。\n重现该问题的一种稳定方法 - 只需尝试删除某些项目并按分配的旧快捷键即可对此,在您创建新项目作为已删除的替换后 - 宾果 - 在导航到 Window / MySubmenu 查看当前子菜单内容之前,快捷方式将不起作用。

\n\n

我不知道如何强制主菜单重建其子菜单...\n我尝试过:[[NSApp mainMenu] update] 和使用 NSNotificationCenter 发送 NSMenuDidAddItemNotification、NSMenuDidRemoveItemNotification、NSMenuDidChangeItemNotification 的游戏

\n\n

我尝试出口到我的子菜单并显式调用更新方法 - 没有办法...\n有时 …

cocoa nsmenu appkit

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

跟踪所有Objective-C的alloc/allocWithZone/dealloc

很抱歉有很长的描述,但问题并不那么容易......

我的项目没有GC编写.最近我发现了一个我无法找到的内存泄漏.我没有使用新的Xcode Analyzer.我确实逐行阅读了我的代码并验证了所有的alloc/release/copy/autorelease/mutableCopy/retain和pool ... - 仍然没有.

序言:标准仪器和全方位泄漏检查不通过某种原因,我的工作(10min为单位工具拒绝我的应用程序,Instruments.app(泄漏)吃了太多的内存和CPU,所以我就没有机会使用它).

因此,我想编写并使用我自己的代码来挂钩和跟踪"所有"alloc/allocWithZone:/ dealloc消息统计信息,以编写一些简单的自己的泄漏检查库(主要目标只是标记具有可能泄漏的对象的类名).

我使用的主要挂钩技术:

  Method originalAllocWithZone = class_getClassMethod([NSObject class],@selector(allocWithZone:));
  if (originalAllocWithZone)
  {
   imp_azo = (t_impAZOriginal)method_getImplementation(originalAllocWithZone);
   if (imp_azo)
   {
    Method hookedAllocWithZone = class_getClassMethod([NSObject class],@selector(hookedAllocWithZone:));
    if (hookedAllocWithZone)
    {
     method_setImplementation(originalAllocWithZone,method_getImplementation(hookedAllocWithZone));
     fprintf(stderr,"Leaks Hook: allocWithZone: ; Installed\n");
    }
   }
  }
Run Code Online (Sandbox Code Playgroud)
  • 像这样的代码用于挂接alloc方法,而dealloc用作NSObject类别方法.

我保存IMP用于以前的方法实现,然后注册并计算所有alloc/allocWithZone:调用为increment(+ 1)stat-array NSInteger值,dealloc调用为减量(-1).

作为终点,我调用前面的实现并返回值.

在概念上一切正常.

如果需要,我甚至可以检测类何时是类集群的一部分(如NSString,NSPathStore2; NSDate,__ NSCFDate)......通过一些规范化函数(但对于下面描述的问题无关紧要).

但是这种技术存在一些问题:

  • 并非所有类都可以被捕获,例如,[NSDate date]没有捕获alloc/allocWithZone:但是,我可以在GDB中看到alloc调用
  • 由于我正在尝试使用自动单例检测技术(基于retainCount readind)从最终统计信息中自动排除某些对象,因此在启动完整Cocoa应用程序时,NSLocale创建会在pre-init阶段冻结(实际上,即使是简单的Objective-C命令行也是如此)包含Foundation框架的实用程序在main()之前有一些额外的初始化 - 由GDB有allocWithZone:一个接一个地调用,....

完整概念 - 项目草案来源上传到这里:http://unclemif.com/external/DILeak.zip(3.5 Kb)

Terminal.app运行make来编译它,运行./concept以显示它的运行情况.


一个问题:为什么我不能通过挂钩alloc和allocWithZone:方法来捕获所有对象分配?

第二个问题:为什么迷上allocWithZone:在CFGetRetainCount(或[研究所retainCount])冻结了一些类...

memory cocoa memory-leaks objective-c objective-c++

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