小编Cli*_*iff的帖子

什么是NSString的UTF8String的CFString Equiv?

我今天仍然坚持使用stoopid因为我无法将一段简单的ObjC代码转换为它的Cpp等价物.我有这个:

  const UInt8 *myBuffer = [(NSString*)aRequest UTF8String];
Run Code Online (Sandbox Code Playgroud)

而我正试图用这个替换它:

  const UInt8 *myBuffer = (const UInt8 *)CFStringGetCStringPtr(aRequest, kCFStringEncodingUTF8);
Run Code Online (Sandbox Code Playgroud)

这是一个严密的单元测试,它通过CFNetwork API在套接字上编写示例HTTP请求.我有工作的ObjC代码,我正在尝试移植到C++.我正在逐步用他们的免费桥接等价替换NS API调用.到目前为止,一切都是一对一的,直到最后一行.这就像需要完成的最后一块.

iphone objective-c

5
推荐指数
2
解决办法
7719
查看次数

XMLParser正在吃我的空白

我正在从我正在解析的wiki页面中丢失重要的空白,我认为这是因为解析器.我在我的Groovy脚本中有这个:

@Grab(group='org.ccil.cowan.tagsoup', module='tagsoup', version='1.2' )
def slurper = new XmlSlurper(new org.ccil.cowan.tagsoup.Parser())
slurper.keepWhitespace = true
inputStream.withStream{ doc = slurper.parse(it) 
println "originalContent = " + doc.'**'.find{ it.@id == 'editpageform' }.'**'.find { it.@name=='originalContent'}.@value
}
Run Code Online (Sandbox Code Playgroud)

其中inputStream是从URL GET请求初始化的,用于编辑confluence wiki页面.稍后在withInputStream块中我这样做:

println "originalContent = " + doc.'**'.find{ it.@id == 'editpageform' }.'**'.find { it.@name=='originalContent'}.@value
Run Code Online (Sandbox Code Playgroud)

我注意到页面的所有原始内容都被删除了它的换行符.我原本以为这是服务器端的事情,但是当我在浏览器中查看相同的req并查看源代码时,我可以在"originalContent"隐藏参数中看到换行符.有没有一种简单的方法来禁用空白规范化并保留字段的内容?以上是针对内部Confluence维基页面运行的,但在编辑任意维基页面时很可能会受到批评.

上面更新 我添加了一个"slurped.keepWhitespace = true"的调用,试图保留空格,但仍然无法正常工作.我认为这个方法是针对元素而不是属性的?有没有办法轻松调整底层Java XMLParser上的标志?是否有为属性值中的空格设置的特定设置?

java xml groovy xml-parsing

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

在Ant exec任务中检测超时

当您在Ant exec任务中设置timeout属性并且该任务使进程超时时,是否可以检测到超时?我的结果,输出或错误属性没有任何有用的指示超时的信息。

java ant android

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

无法链接到XCode4中的SDL!

我非常沮丧!今晚我试图让SDL适应环境,但我试图通过XCode4链接到它的砖墙!这就是我做的.我下载了SDL框架运行时库和开发xtras的v1.2.14.我按照所有方向(拖放/ Library/Frameworks中的SDL.framework)直到我意识到模板在XC4中不像以前那样在XC3.x中工作.我对模板进行了抨击,并尝试将框架添加到vanilla cocoa应用程序中.(从内置的应用程序模板创建.)我添加了SDLMain .h .m和.nib文件并尝试构建.我立刻得到一个错误,说找不到"SDL.h".我为所有配置手动调整了我的标题搜索路径设置,虽然我认为如果我直接引用框架这不应该是必要的.我以这种方式绕过了丢失的头文件,但开始遇到链接器错误.

"_SDL_main", referenced from:
      -[SDLMain applicationDidFinishLaunching:] in SDLMain.o
Run Code Online (Sandbox Code Playgroud)

我已经尝试了满足我的链接器和编译器的所有不同的演绎.我已将框架移动到〜/ Library/Frameworks下的用户文件夹中,我玩弄了<>和""导入语法.我已经开始了一个全新的项目并重复了一切.我迷路了!有人可以帮忙吗?

macos sdl xcode4

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

Lua DSL 还是聪明的闭包?

我正在尝试使用 Lua 并尝试实现一些列表处理逻辑。我不确定我是否真正掌握了协程和匿名函数的力量,但我正在尝试。我知道这些东西在 Ruby/Groovy/Javascript 等其他脚本语言中是如何工作的,我想在 Lua 中做一些同样聪明的事情。这是我提出的一个例子:

model = { { player = "Cliff", age = 35, gender = "male" }, { player = "Ally", age = 36, gender = "female" }, { player = "Jasmine", age = 13, gender = "female" }, { player = "Lauren", age = 6.5, gender = "female" } }

function allplayers()
    return coroutine.create(function()
        for idx, each in ipairs(model) do
            coroutine.yield(idx, each)
        end
    end)
end

function handlePlayers(source)
    local status, idx, each = coroutine.resume(source)
    while each …
Run Code Online (Sandbox Code Playgroud)

lua list

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

FIleNotFound打开失败:EACCES(权限被拒绝)

当我尝试写入"/ mnt/sdcard/report /"时,我在Android上遭遇"开放失败:EACCES(权限被拒绝)".我的第一步是创建"报告"文件夹,该文件夹不起作用.然后我尝试编写抛出上述异常的内容.我已将其设置<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />为应用程序标记的对等项(在...之外).我正在尝试在出现错误时在模拟器上运行JUnit检测测试.有任何想法吗?代码如下.

        if (mReportDir == null) {
            if (mContext.getFilesDir() != null) {
                mOutputStream = mContext.openFileOutput(fileName, 0);
            } else {
                mOutputStream = mTargetContext.openFileOutput(fileName, 0);
            }
        } else {
            File f = new File(mReportDir);
            if (!f.exists()) {
                f.mkdirs();
            }
            mOutputStream = new FileOutputStream(new File(mReportDir, fileName));
        }
Run Code Online (Sandbox Code Playgroud)

mReportDir等于"/ mnt/sdcard/report",fileName等于"junit-report.xml",f.mkdirs返回false我相信并且永远不会创建dir.我想知道为什么我被拒绝了.我正在尝试重用自定义的JUnit Test运行器.

我在avd设置中添加了hw.sdCard = yes.启动I shell后输入mount:

~$ adb shell
# mount
rootfs / rootfs ro 0 0
tmpfs /dev tmpfs rw,nosuid,mode=755 0 0
devpts /dev/pts devpts rw,mode=600 0 0
proc …
Run Code Online (Sandbox Code Playgroud)

java android android-emulator

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

iOS上的代码覆盖率在Lion上使用Xcode 4.2

我正在尝试从Lion上的一个名为CocoaTouchHax的iOS Xcode 4.2(4D199)项目中生成gcd文件,我遇到了不可思议的麻烦.我遵循的步骤在这里和我的竟然试图从源代码编译如下步骤LLVM /铛这里.但是我继续得到这个错误:

Library not loaded: @executable_path/../lib/libprofile_rt.dylib
Run Code Online (Sandbox Code Playgroud)

我哪里错了?我试图使用install_name_tool修复可执行路径无济于事.我在分析一些东西吗?我错过了一些简单的事吗?我在链接之前将其作为"运行脚本"阶段,以确保我已更新@executable路径,并使用工具检查文件后更新名称:

install_name_tool -id @executable_path/Users/cliff/dev/CocoaTouchHax/build/CocoaTouchHax/Build/Products/Debug-iphonesimulator/lib/libprofile_rt.dylib build/CocoaTouchHax/Build/Products/Debug-iphonesimulator/lib/libprofile_rt.dylib
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?救命!

更新 仅仅添加lib profile_rt.dylib会立即崩溃我的测试运行,在运行任何内容时会出现以下错误:@executable_path /../ lib/libprofile_rt.dylib所以我确定需要发生某些事情或者需要对lib执行某些操作profile_rt.dylib在执行之前.

另一个更新我尝试在/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.0.sdk/Developer/usr下创建/ Developer/usr/lib的和链接我相信这是构成该路径的基础的一部分测试运行时的当前工作目录.(假设它从那里的bin文件夹运行.)理论上,这将从该基本路径完成../lib/libprofile_rt.dylib的相对查找路径,但它不起作用.我已经尝试在复制dylib之前运行install_name_tool命令,但我仍然收到此错误:

未加载库:@executable_path /../ lib/libprofile_rt.dylib

我不知道我做错了什么.我不知何故设法使用上面的一些组合来获取测试覆盖文件,但我没有给予足够的关注,也无法重现出现.我知道这可以工作,我只需要更多的帮助来弄清楚如何.

code-coverage ios5 xcode4.2

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

PHP shell_exec仅适用于某些命令

我是一个完整的PHP(LAMP/WAMP/MAMP)菜鸟,我遇到了尝试从Web服务器运行shell命令的新手中常见的问题.我在Mac mini上有一个MAMP设置,我想收集Android命令的输出,

adb devices
Run Code Online (Sandbox Code Playgroud)

所以我可以显示连接到我的mac mini的设备列表.每当我在PHP脚本中将命令传递给shell_exec时,我都会返回一个空字符串.几次网络搜索后,我无法弄清楚如何解决问题.我试过跑步

shell_exec("who am i")
Run Code Online (Sandbox Code Playgroud)

返回"Clifton",即启动MAMP的用户帐户的名称.我确认同一个用户帐户可以执行"adb devices"命令.Android工具安装在该用户帐户的主文件夹中.我也尝试将绝对路径传递给命令.此时,我确定这是一个配置问题,但我不知道配置什么或在哪里.

php mamp

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

多个版本的go

我正在尝试按照此处的官方文档学习 go-lng:https : //golang.org/doc/install

我被困在安装额外 go 版本的步骤上。显然,这一行应该安装不同版本的 go 并使可执行文件在我的 $PATH 中可用,但它没有发生:

go get golang.org/dl/go1.10.7
Run Code Online (Sandbox Code Playgroud)

相反,我看到的是:

c.craig$ go get golang.org/dl/go1.10.7
c.craig$ go1.10.7 download
-bash: go1.10.7: command not found
Run Code Online (Sandbox Code Playgroud)

我哪里错了?我已经尝试了一个空格,假设这只是文档中的一个错字,但即使这样也不起作用:

c.craig$ go get golang.org/dl/go1.10.7
c.craig$ go 1.10.7 download
go 1.10.7: unknown command
Run Code Online (Sandbox Code Playgroud)

go

3
推荐指数
4
解决办法
3583
查看次数

从Xcode导出快速模型?

当我偶然发现Xcode中的Quick Model菜单项时,我正在寻找一种为项目生成UML文档的快速方法.我想知道是否有办法以非平台特定的文件格式(如png或pdf)导出这些图表?基本上我想采用一些快速的可视化图表(说明组件关系)来管理我们项目中的一些主要类.有谁知道一个想法?

iphone xcode uml objective-c

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

如何在第二个屏幕上使用iOS 5+ AirPlay

我正在使用iPhone 4S玩AirPlay,我遇到了一些麻烦.我已经将我的Apple TV 2更新到最新版本(4.4.3我认为?我忘记了,它在另一个房间里,我懒得检查)我在4S上使用iOS 5.0而我使用的是Xcode 4.2 Build 4D199 .我写了一个简单的UIView应用程序,试图在可用时在第二个屏幕上绘制.这是我在viewDidLoad中的内容:

- (void)viewDidLoad
{
    [super viewDidLoad];
    [self.view addSubview:[[MPVolumeView alloc] initWithFrame:CGRectMake(0, 0, 320, 50)]];
    NSLog(@"Registering for screen connect events...");
    // Do any additional setup after loading the view, typically from a nib.
    [[NSNotificationCenter defaultCenter]
     addObserver:self
     selector:@selector(screenDidConnect:)
     name:UIScreenDidConnectNotification
     object:nil];
    [[NSNotificationCenter defaultCenter]
     addObserver:self
     selector:@selector(screenDidDisconnect:)
     name:UIScreenDidDisconnectNotification
     object:nil];    NSLog(@"There are %i connected screens.", ScreenCount);
    if (ScreenCount > 1) {
        self.secondWindow = [self myScreenInit:[[UIScreen screens] objectAtIndex:1]];
        [self.secondWindow addSubview:[self createFullscreenViewForText:@"Second window" withSize:CGSizeMake(640, 480)]];
    }
}
Run Code Online (Sandbox Code Playgroud)

当我启用TV Out时,此代码在模拟器中工作,但如果我在调试时启用TV Out,它总是会崩溃.我必须在模拟器的硬件菜单中启用电视输出后重新启动应用程序.重新启动时,我在第二个屏幕上看到第二个屏幕UILabel.在iPhone 4S上,如果我使用正在运行的任务栏中的AirPlay控件一直向左启用AirPlay,我只能进行此操作.你会注意到我在启动视图中添加了一个MPVolumeView组件,我尝试使用它来连接到我的Apple …

airplay ios5 apple-tv

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

Django assertEqual不显示实际值与期望值

所以我正在学习如何在Django中练习TDD,我遇到了一些小问题.我创建了一个自定义用户对象,该对象以一对一的关系链接到经过身份验证的系统用户.我有以下测试,它练习我的自定义用户类的一部分:

def test_creating_a_user_with_attributes(self):
    myuser = Myuser.objects.create_user('Gary', email='me@email.com')
    current_time = now()
    myuser.birthday = current_time
    myuser.save()
    first_user = Myuser.objects.all()[0]
    self.assertEqual(first_user.birthday, current_time, 'first_user.birthday should be equal to the current_time')
Run Code Online (Sandbox Code Playgroud)

问题是我的测试失败了,我无法立即看到原因.断言失败报告了我提供的消息,我感到困惑,因为我确定生日被设置为现在的值.我最终不得不重构我的断言以使失败的值清楚.

    self.assertEqual(first_user.birthday, current_time,
        'first_user.birthday ' + str(first_user.birthday) + ' should equal ' + str(current_time))
Run Code Online (Sandbox Code Playgroud)

这表明生日是日期字段而不是日期时间字段.我的问题是,是否存在一些替代形式的断言,它将预期值和实际值转储为失败消息的一部分,或者我是否在某种程度上滥用或误解了API?

django tdd assertions

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

在Robotium中按下一个或完成的键

我只是遇到了Robotium试图通过功能测试重现错误.在登录期间从用户名字段移动到密码字段时,我的活动未设置为正确处理"下一个"键.我谷歌搜索了一下,我无法解决问题.我在我的Galaxy Nexus上尝试过这个:

    solo.clearEditText(0);
    solo.enterText(0, Constants.TEST_ACCOUNT_1.getUsername());
    solo.clickOnEditText(0);
    solo.clickOnScreen(672,1132);
    solo.clickOnEditText(0);
    solo.sleep(15000);
    solo.enterText(1, Constants.TEST_ACCOUNT_1.getPassword());
Run Code Online (Sandbox Code Playgroud)

我们的想法是在文本字段中单击以抬起键盘,然后尝试单击下一个按钮,但编辑文本字段中的单击不会抬起键盘.我也试过发送回车键,我尝试用FLAG_EDITOR_ACTION发送回车键,它们都没有模拟"下一步"键.救命!

android functional-testing robotium

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