在Xcode中复制目标是创build多个应用程序或框架/库产品的好方法,这些应用程序或框架/库产品使用与由目标构build设置或相关scheme中设置的环境variables控制的条件代码的结果相同的代码库, 首先复制已知工作的基本版本,然后设置每个目标将使用的环境variables,然后使用内联预处理程序#ifdef语句开始分解代码行为。 但是,任何重复的目标都将被命名为“原始目标名称副本”。 这可以重命名,但info.plist也会有这个名字,也可能出现在几个基本的构build设置中,并且可能是一个单调乏味和错误引入的过程来删除所有对非信息性副本的引用“重复目标名称的版本取决于你如何做。 当我创buildiOS框架时,这似乎特别容易引入问题。 我的问题是,是否有任何复制一个目标的技术,允许您在复制时指定新的目标名称,所以永远不会有临时错误的目标名称或任何包含该临时错误名称的文件被创build。 或者,或者,如果有某种方法可以使用“重构”function来解决这个问题,那么这是一种自动化的方式。 如果问题中包含某种错误的假设,这就解释了为什么这个特性没有包含在Xcode中,让我知道。 我正在使用4.3。
我正在为运行RedHat的服务器devise一个控制台应用程序。 最终用户应该能够运行这个应用程序与他们select的任何terminal。 (例如:Gnometerminal,Putty SSH / Telnet,MS Telnet客户端等)。 在大多数terminal应用程序中没有任何错误,但是当我从MS Telnet会话启动我的程序时,我注意到System.in和System.console()特殊input已经完全搞砸了。 退格键会将^H写入屏幕,其他键写入乱码。 我已经深入了解这一点,我可以让它始终如一地工作,但是我确信我正在做的事情是严重的: if (!System.getenv("TERM").equals("xterm")) { System.out.println("\nWARNING: The TERM type is now set to xterm\n"); final String[] cmd = { "/bin/sh", "-c", "export TERM=xterm" }; Runtime.getRuntime().exec(cmd); } 对于不支持xtermterminal来说,会不会有一个问题? 我注意到,Microsoft Telnet客户端不允许您在开始会话之前将TERMtypes设置为xterm 。 一旦会话开始,然而,设置TERM=xterm似乎解决了这个问题。 大多数控制台应用程序如何解决这个问题?
在开发WebRTCvideo聊天应用程序时,我遇到了接收远程videostream的问题。 videostreamblob被接收,但video只是黑色。 我已经通过这些答案,并尝试几乎所有我能得到它的工作https://stackoverflow.com/a/17424224/923109 远程VideoStream不与WebRTC的工作 …… Globalvars.socket.on('call', function (signal) { if(!Globalvars.pc){ Methods.startCall(false, signal); } if(signal.sdp){ temp = new RTCSessionDescription({"sdp" : decodeURIComponent(signal.sdp), "type" : signal.type}); Globalvars.pc.setRemoteDescription(temp); for(i = 0; i < Globalvars.iceCandidateArray.length; i++){ Globalvars.pc.addIceCandidate(new RTCIceCandidate({ sdpMLineIndex: decodeURIComponent(signal.sdpMLineIndex), candidate: decodeURIComponent(signal.candidate) })); } Globalvars.iceCandidateArray = []; } else{ if(Globalvars.pc.remoteDescription){ Globalvars.pc.addIceCandidate(new RTCIceCandidate({ sdpMLineIndex: decodeURIComponent(signal.sdpMLineIndex), candidate: decodeURIComponent(signal.candidate) })); console.log("remot"); } else{ […]
我试图在我的WordPress网站上使用分页实现同位素(这对大多数人来说显然是一个问题)。 我想出了一个scheme,如果我能弄清楚一些事情的话可能会起作用。 在我的页面上,我有我的同位素脚本的这部分 – $('.goforward').click(function(event) { var href = $(this).attr('href'); $('.isotope').empty(); $('.isotope').load(href +".html .isotope > *"); $( 'div.box' ).addClass( 'isotope-item' ); $container.append( $items ).isotope( 'insert', $items, true ); event.preventDefault(); }); 然后我使用这个我从这里修改过的分页函数来实现'goforward'类 – function isotope_pagination($pages = '', $range = 2) { $showitems = ($range * 2)+1; global $paged; if(empty($paged)) $paged = 1; if($pages == '') { […]
我们在编译以下源代码时观察到一个奇怪的行为: template<template<class> class TT> struct X { }; template<class> struct Y { }; template<class T> using Z = Y<T>; int main() { X<Y> y; X<Z> z; z = y; // it fails here } 这是一个从模板别名的c ++ 11标准提案中稍作修改的例子: http : //www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2258.pdf (请参阅第4页)还要注意,提案“声明y和z是同一types”。 因此,在我们的解释中,应该可以从y分配(或复制构造)z。 但是,这个代码不能用gcc 4.8.1和clang 3.3编译。 这是编译器中的错误还是我们误解了标准? 在此先感谢,craffael等;) PS Clang错误信息是: error: no viable overloaded '=' note: […]
我有一个基于文档的应用程序,其中每个文档有一个NSScrollView窗口,只使用Cocoa进行一些(相当连续的)绘图。 要调用绘图,我正在使用下面代码中概述的CVDisplayLink: – (void)windowControllerDidLoadNib:(NSWindowController *) aController { //other stuff… [self prepareDisplayLink]; //For some reason putting this in awakeFromNib crashes } //Prep the display link. – (void)prepareDisplayLink { CVDisplayLinkCreateWithActiveCGDisplays(&displayLink); CVDisplayLinkSetCurrentCGDisplay(displayLink, ((CGDirectDisplayID)[[[[[self windowForSheet]screen]deviceDescription]objectForKey:@"NSScreenNumber"]intValue])); CVDisplayLinkSetOutputCallback(displayLink, &MyDisplayLinkCallback, self); } //Callback to draw frame static CVReturn MyDisplayLinkCallback(CVDisplayLinkRef displayLink, const CVTimeStamp* now, const CVTimeStamp* outputTime, CVOptionFlags flagsIn, CVOptionFlags* flagsOut, void* displayLinkContext) […]
我有一个Python扩展,我已经成功地在Windows,OSX和Linux上构build和使用。 我现在需要能够debugging这个Python扩展。 我不喜欢在命令行使用gdb,所以我真的想在Eclipse中使用它。 首先,我尽我所能按照http://www.heikkitoivonen.net/blog/2008/07/21/debugging-python-extension-written-in-c-with-eclipse/中的说明操作,而我将Python源文件夹以及作为源文件夹的python扩展代码文件夹添加到空项目中。 因为在linux上debugging所需的东西比较容易,所以我开始在Ubuntu中进行debugging开发。 一旦我得到了python的debugging版本(让我们称之为python_d),我用我的扩展名运行了setup.py python_d setup.py build 这也应该产生扩展模块的debugging版本。 我已经validation了通过在Eclipse中打开扩展作为应用程序来导出符号,我可以看到与Python共享对象链接的源代码。 现在,如果我在Eclipse中使用我的代码的文件夹创build另一个项目,并在用于创build扩展的源代码中添加一个断点,它不会停在断点处。 我在这里完全有可能失去一些相当重要的东西,但是对于我来说,我无法做到这一点。 问题的症结在于: 如何让Eclipse停止在Python扩展模块的断点处?
我试图将表格的格式从一个OpenOffice Writer文件复制到另一个…我可以告诉我正在将样式的名称写入第二个文档,而不是样式数据。 我怀疑这与odfContainer的'styles'部分有关,但我不清楚如何将其写入第二个文档,尤其是因为当我在debugging器中检查$style对象时,似乎与$doc对象完全相同,后者据说已经加载了'content'部分。 这是我到目前为止… #! /usr/bin/perl use warnings; use strict; use OpenOffice::OODoc; my $file='mytest.odt'; my $outfile='doc2.odt'; # load input file my $container = odfContainer("$file"); $container->raw_export("styles.xml"); my $doc = odfDocument ( container => $container, part => 'content' ); my $style = odfDocument ( container => $container, part => 'styles' ); # load output file my $container2 […]
前段时间,我发现playEarcon() 永远不会产生 onUtteranceCompleted() 。 当时我只是解释说“当话语被合成时调用”的文档,因为onUtteranceCompleted()不适用于earcons,因为earcon实际上不是TTS合成的结果。 但再次看Android的源代码,我根本无法find一个解释,certificate我的解释。 关于我的testing夹具的一些事实: onUtteranceCompleted()总是到达earcon之前的话语ID。 这个话语是一种普通的TTS话语,而不是一个耳塞。 之后的耳朵确实发挥出来(即完全按照预期)。 onUtteranceCompleted()对于这个earcon 永远不会出现。 这是非常一致和可重复的行为。 深入研究TtsService源代码,似乎只有两种方法可能影响onUtteranceCompleted()的到来(或不存在onUtteranceCompleted() : TtsService.processSpeechQueue() TtsService.onCompletion() 如果你检查这个代码,你会发现第三个候选人TtsService.getSoundResource()被排除了(因为我的earcon缺lessonUtteranceComplete),因为上面的事实#2:earcon总是玩,因此getSoundResource()不可能返回null。 使用相同的逻辑,也可以排除第一候选者TtsService.processSpeechQueue() ,对于同样的事实#2:earcon始终播放,因此总是执行以下2个关键语句: 1108 mPlayer.setOnCompletionListener(this); … 1111 mPlayer.start(); 所以,我们只剩下第二个候选人, TtsService.onCompletion() ,作为一个playEarcon() 永远不会产生 onUtteranceCompleted()的可能解释: public void onCompletion(MediaPlayer arg0) { // mCurrentSpeechItem may become null if it is stopped at the same // time it completes. SpeechItem currentSpeechItemCopy = mCurrentSpeechItem; […]
我已经通过Android文档提供的SampleSyncAdapter示例项目,但据我所知,我们需要添加一个帐户的自定义帐户服务。 但我的需要是从设备上的现有帐户服务创build一个电子邮件帐户。 为了更清楚我的问题,我举了一个例子 以下是我的设备上提供的帐户服务 我想在每个Android设备上都可以使用“Google”和“电子邮件”帐户服务。 现在我想configuration一个“电子邮件”帐户,所以我必须遵循以下步骤: 步骤1:input现有的电子邮件ID和密码 步骤2:[a]常规设置属性: – (帐户名称,真实姓名,电子邮件地址) 步骤2:[b]传入服务器属性: – (POP或IMAP邮件服务器,服务器地址,用户名,密码) 第2步:[c]发送服务器属性: – (SMTP服务器,用户名,密码) 步骤3:通过select高级设置,我们可以configuration端口和证书选项。 我们需要手动完成上述步骤, 但是我想通过使用以上所有设置以编程方式创build一个电子邮件帐户 。 那么我怎样才能从现有的账户服务中编写新的电子邮件账户呢? 我需要MDM的这个function。