小编lea*_*nne的帖子

BitBucket 应用程序密码:git 命令行访问有哪些权限?

我了解如何为 BitBucket 创建应用程序密码,如Atlassian 的应用程序密码信息此 SO 答案中所述。

但是,什么需要哪些权限呢?具体来说,就我而言,我将其用于我的存储库的命令行 git。

我立即猜测我需要检查Repositories下的读取写入管理删除怎么样?那么项目的读写如何呢?

在 BitBucket 的社区上发现这个问题:如何使用应用程序密码。向下滚动,OP 说他们发现他们需要存储库项目的权限- 但仍然不确定这是否正确。

我在哪里可以准确找到这些权限所代表的内容以及简单 git push/pull/tag/... 所需的权限?

git bitbucket bitbucket-api

5
推荐指数
0
解决办法
2516
查看次数

Swift 2.1 do-try-catch 未捕获错误

这是我的 Swift 2.1 代码片段。发生的错误显示在错误出现处的注释中。

\n

错误显示在调试面板中,并且应用程序崩溃。该应用程序永远不会打印 catch 中的行,也不会按预期优雅地返回。

\n
let audioFileURL = receivedAudio.filePathURL\n\nguard let audioFile = try? AVAudioFile(forReading: audioFileURL) else {\n    print("file setup failed")\n    return\n}\n\nlet audioFileFrameCount = AVAudioFrameCount(audioFile.length)\n\naudioFileBuffer = AVAudioPCMBuffer(PCMFormat: audioFile.fileFormat, frameCapacity: audioFileFrameCount)\n\ndo {\n    // ERROR: AVAudioFile.mm:263: -[AVAudioFile readIntoBuffer:frameCount:error:]: error -50\n    // Terminating app due to uncaught exception \'com.apple.coreaudio.avfaudio\', reason: \'error -50\'\n    // -50 = Core Audio: bad param\n    try audioFile.readIntoBuffer(audioFileBuffer)\n}\ncatch {\n    print("unable to load sound file into buffer")\n    return\n}\n
Run Code Online (Sandbox Code Playgroud)\n

从我所看到的一切来看,我的 do/try/catch 格式应该是正确的。

\n

audioFile.readIntoBuffer返回void并具有关键字throws …

try-catch ios swift2

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

在 UI 测试中执行完全向左滑动操作?

我已经在表视图中实现了前导和尾随滑动操作。现在,我正在尝试在 XCTest UI 测试中测试它们。

\n\n

测试任一方向的常规滑动很简单:

\n\n
tableCell.swipeRight()\ntableCell.swipeLeft()\n
Run Code Online (Sandbox Code Playgroud)\n\n

使用其中之一会导致显示第一个操作按钮,然后我可以.tap()单击该按钮。

\n\n

然而,测试完全滑动被证明更具挑战性。我已经玩过如何更快或更精确地滑动的这个扩展?

\n\n

我还玩过问题Xcode7 ui testing: staticTexts[\xe2\x80\x9cXX\xe2\x80\x9d].swipeRight() swipes not far enough 的答案

\n\n

这两个本质上都是使用XCUIElement\ 的坐标(withNormalizedOffset:)方法从一个点滑动到另一个点,类似于以下内容:

\n\n
let startPoint = tableCell.coordinate(withNormalizedOffset: CGVector.zero)\nlet finishPoint = startPoint.withOffset(CGVector(dx:xOffsetValue, dy:yOffsetValue))\nstartPoint.press(forDuration: 0, thenDragTo: finishPoint)\n
Run Code Online (Sandbox Code Playgroud)\n\n

我最终得到了一个可以成功执行完全向右滑动的扩展- 但我似乎无法获得完全向左滑动的正确数字。

\n\n

我的代码确实执行了向左滑动,但还不够远。我已经尝试过硬编码数字dx:-300 到 300 的硬编码数字。元素宽度是 414。我相信 0 是最左边,414 是最右边,所以我开始使用该大小作为参考。仍然没有喜悦。

\n\n

我怎样才能让它执行向左完全滑动?

\n\n
extension XCUIElement\n{\n    enum SwipeDirection {\n        case left, right\n    }\n\n    func longSwipe(_ …
Run Code Online (Sandbox Code Playgroud)

ios xctest swift xcode-ui-testing

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

如何防止xcode将<##>视为代码段占位符

我想在Objective C程序中的文字字符串中包含<##>.但是,Xcode会自动替换字符串,认为它应该是代码片段中使用的占位符.

例如

NSString *pattern = @"<#foo#>"
Run Code Online (Sandbox Code Playgroud)

尝试将其放入Xcode中,它将重新显示为foo的占位符.

在实际程序中,字符串是这样的RE,<#(.*)#>并且令人惊讶的是,代码实际上按预期工作 - 该问题仅在Xcode的显示中表现出来.真正的问题是,这会造成一种脆弱的情况,在编辑器中,很容易导致文本被意外替换.

作为一种解决方法,我可以从它的部分构造字符串

NSString *p1 = @"<#(.*)";
NSString *p2 = @"#>";
NSString *pattern = [NSString stringWithFormat:@"%@%@",p1,p2];
Run Code Online (Sandbox Code Playgroud)

但那不是很令人满意.

有没有人知道在Xcode中覆盖此行为的更好方法?

xcode objective-c token code-snippets

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