我正在尝试为使用bower的应用程序设置自动包构建.当它在安装后进入bower安装时,bower提示:
[?] May bower匿名报告使用情况统计数据,以便随着时间的推移改进工具?(Y/N)
这搞砸了自动化脚本.我可以编写一个期望脚本来处理这个问题,但如果我不需要,我宁愿不这样做.有没有办法让它闭嘴?
有没有办法访问NSArray元素valueForKeyPath?例如,Google的反向地理编码器服务会返回一个非常复杂的数据结构.如果我想要进入这个城市,那么现在我必须把它分成两个电话,像这样:
NSDictionary *address = [NSString stringWithString:[[[dictionary objectForKey:@"Placemark"] objectAtIndex:0] objectForKey:@"address"]];
NSLog(@"%@", [address valueForKeyPath:@"AddressDetails.Country.AdministrativeArea.SubAdministrativeArea.Locality.LocalityName"]);
Run Code Online (Sandbox Code Playgroud)
只是想知道是否有办法将objectAtIndex:调用塞入valueForKeyPath字符串.我尝试了像@"Placemark [0] .address"这样的javascript-esque配方,但没有骰子.
我在亚马逊云的Linux服务器上运行Tomcat 6.我正在尝试使用我的办公室Mac上的VisualVM连接到它.我允许打开桌面和服务器之间的所有TCP端口,但我无法让VisualVM做任何事情.
在linux框中,我已经启动了Tomcat:
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=9191
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
Run Code Online (Sandbox Code Playgroud)
在我的Mac上,我启动VisualVM并选择File - > New JMX Connection ...
我在框中输入amazonhostname.com:9191.它说"添加amazonhostname.com:9191 ......"然后在那里停留几分钟才能超时.
从我的Mac,我可以"telnet amazonhostname.com 9191"就好了,我尝试了一些其他随机端口,他们都工作.我非常确信它不是防火墙问题,除非我需要打开UDP或ICMP或类似的东西.(真??)
服务器上的catalina.log或我的Mac上的系统控制台与jmx无关.服务器上的netstat显示9191,其他一些端口在所有接口上打开.
远程服务器上没有jstatd.这是JMX的先决条件吗?(我对Java完全不熟悉,我甚至不确定那些东西是什么意思,但我在某个博客文章中看到过.我现在正在抓住稻草.)
是否可以使validateMenuItem与NSViewControllers一起使用?文档说NSViewController是NSResponder的子类,所以我认为它会参与响应者链,但我从来没有能够让它工作.我可以使用NSView,没问题.
我的特定用例是MainMenu.xib中的一个菜单项,它连接到First Responder.我的视图控制器子类中的选择器显示在MainMenu的第一响应者弹出的选择器列表中,所以我认为它可以工作,但事实并非如此.我的子类的validateMenuItem方法永远不会被调用.(调用app委托中的那个,但不是连接到First Responder的项目.)
rpmbuild的默认行为似乎是扫描buildroot中的每个文件#!行并将这些解释器添加为硬性要求.是否可以禁用此功能?我遇到过这样一种情况:人们用#!/ path/to/local/install/of/something提交脚本,而且这个要求正在嵌入rpm中.
我无法找到抑制此行为的命令行或spec文件选项.希望我只是看起来不够努力.
我从 Stack Overflow 上抓取了代码来访问一些网络浏览器密码。只要密码在登录钥匙串中,它就可以很好地工作。在某些时候,我感兴趣的特定帐户已移至 iCloud 钥匙串,并且不再存在于登录钥匙串中。SecItemCopyMatching 找不到它。它返回 OSStatus -23500,即“未找到项目”。如何访问这些条目?
CFArrayRef result = NULL;
NSDictionary *params = @{ (__bridge id)kSecClass : (__bridge id)kSecClassInternetPassword,
(__bridge id)kSecMatchLimit : (__bridge id)kSecMatchLimitAll,
(__bridge id)kSecReturnAttributes : (__bridge id)kCFBooleanTrue,
(__bridge id)kSecAttrProtocol : (__bridge id)kSecAttrProtocolHTTPS,
(__bridge id)kSecAttrServer : @"accounts.mydomain.com"
};
OSStatus status = SecItemCopyMatching((__bridge CFDictionaryRef)(params), (CFTypeRef *) &result);
if (status == noErr) {
// item found!
}
Run Code Online (Sandbox Code Playgroud) 我有一个基于视图的NSTableView,使用Cocoa Bindings来更改单元格中某些标签和图像的值.这一切都很棒.但是,我想在单元格中添加一个按钮.我有按钮工作,但它的动作方法只有按钮作为发送者,这意味着我不知道按钮所在的单元格的内容.不知何故,我需要在按钮上存储一些额外的数据 - 在至少是按钮所在的行索引.我将NSButton子类化并在单元格中使用了我的子类,但是Interface Builder不知道额外的属性,因此我无法绑定它.如果我想在代码中绑定它,我不知道将传递给它的对象或keypath的名称.
我怎样才能让它发挥作用?
我试图通过查看前四个字节来检测给定文件是否是ZIP文件.这是在一个iOS应用程序,所以文件句柄的东西是由Cocoa框架处理,但实际的字节比较的东西是直接C,我真的不知道.
unsigned char aBuffer[4];
NSFileHandle *fileHandle = [NSFileHandle fileHandleForReadingAtPath:filePath];
NSData *data = [fileHandle readDataOfLength:4];
[data getBytes:aBuffer];
if (aBuffer[0] == 0x50 && aBuffer[1] == 0x4b && aBuffer[2] == 0x03 && aBuffer[3] == 0x04) {
archiveType = ARCHIVE_TYPE_ZIP;
}
Run Code Online (Sandbox Code Playgroud)
它起作用但是笨拙地打击我.有没有更好的方法来比较这4个字节?(是的,我知道它需要更多错误检查.)
我正在将一个C库集成到iOS的Objective-C应用程序中.我不是很精通C ...我知道这很危险.
C函数声明是这样的:
extern int ZEXPORT unzGetCurrentFileInfo OF((unzFile file,
unz_file_info *pfile_info,
char *szFileName,
uLong fileNameBufferSize,
void *extraField,
uLong extraFieldBufferSize,
char *szComment,
uLong commentBufferSize));
Run Code Online (Sandbox Code Playgroud)
我真的只对此感兴趣szFileName.我知道我可以忽略void*并char*通过NULL.我可以通过一些 - NULL相当于uLongparams吗?我收到一个关于转换为没有强制转换的指针的编译器警告.
这是我调用此函数的循环,以防有人想对此进行评论.我做了malloc/ free正确吗?我不习惯低级C的东西.我知道有人抱怨Objective-C引用计数,但相比之下它非常豪华:)
unz_file_info pfile_info;
char *szFileName = malloc(1024);
uLong fileNameBufferSize;
uLong commentBufferSize;
uLong extraFieldBufferSize;
do {
int ret = unzGetCurrentFileInfo(zipFile, &pfile_info, szFileName, fileNameBufferSize, NULL, extraFieldBufferSize, NULL, commentBufferSize);
NSLog(@"get info ret %i filename size %lu, filename %s", ret, pfile_info.size_filename, szFileName);
// …Run Code Online (Sandbox Code Playgroud) cocoa ×4
macos ×3
c ×2
bower ×1
centos ×1
icloud ×1
ios ×1
java ×1
jmx ×1
keychain ×1
nsmenuitem ×1
nsresponder ×1
nstableview ×1
objective-c ×1
packaging ×1
rpm ×1
rpmbuild ×1
tomcat ×1
visualvm ×1