小编Tah*_*mad的帖子

Xcode7 | Xcode UI测试| 如何处理位置服务警报?

我正在使用Xcode7/iOS 9中引入的XCUIApplication,XCUIElement和XCUIElementQuery为我的应用程序编写UI测试用例.

我遇到了路障.测试用例中的一个屏幕需要iOS的位置服务.正如预期的那样,系统会提示用户允许使用名为" Allow “App name” to access your location while you use the app?with Allow&Don't Allowbuttons"的警报来使用位置服务.

问题是或许似乎由于警报由OS本身呈现,因此它不存在于Application的元素子树中.

我记录了以下内容:

print("XYZ:\(app.alerts.count)")//0
var existence = app.staticTexts["Allow “App Name” to access your location while you use the app?"].exists
print("XYZ:\(existence)")//false
existence  = app.buttons["Allow"].exists
print("XYZ:\(existence)") //false
Run Code Online (Sandbox Code Playgroud)

甚至UI录制生成类似的代码:

XCUIApplication().alerts["Allow “App Name” to access your location while you use the app?"].collectionViews.buttons["Allow"].tap()
Run Code Online (Sandbox Code Playgroud)

我还没有找到任何可以让我解决这个问题的API.例如:

  • 点按屏幕上的某个位置
  • 在应用外部获取提醒

那我该怎么办呢?有没有办法配置测试目标,以便不需要位置服务授权.

xcode xctest ios9 xcode-ui-testing xcode7-beta4

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

具有弱引用的NSHashTable

我想使用NSHashTable来保持对包含对象的弱引用.关于其他可自定义的行为(包括相等性检查),我想要与NSSet完全相同的行为(所以实际上我想要一个带有弱引用的NSSet).你能给我一个如何初始化这样一个哈希表的例子吗?

以下就足够了: [NSHashTable hashTableWithOptions:NSPointerFunctionsWeakMemory]

具有弱引用的NSHashTable也会自动删除已取消分配的对象吗?

cocoa objective-c ios ios6 ios7

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

如何在NSURLSession(后台会话)事件的情况下测试后台应用程序启动?

如何在后台测试Application Launch的场景以处理Background NSURLSession的事件?

流:

  1. 应用程序使用后台URL会话启动上载/下载任务.
  2. 用户点击主页按钮.应用程序处于暂停或处于后台状态.
  3. 操作系统决定退出应用程序.我知道,可以通过双击主页按钮退出应用程序并向上滑动特定的应用程序.但在这种情况下,操作系统永远不会在后台重新启动应用程序以进行事件处理.
  4. 上传/下载任务需要一些事件处理.操作系统在后台重新启动应用程序.

所以问题是如何让操作系统退出应用程序,就像通​​常在一段时间后一样.目的是测试此方案的代码.我尝试使用UIApplicationExitsOnSuspend但它不起作用,因为那时App无法在后台启动.

uiapplication uiapplicationdelegate ios nsurlsession

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

iOS 纵横比填充图像调整大小,内容与左/上边缘对齐

我正在为 iOS-7 开发一个通用应用程序。这个特定问题仅针对 iPad。我想放置一个图像作为视图控制器的根视图的背景,即图像应该填满整个屏幕。1x 图像的大小为:768x1024。这适用于纵向方向,因为 iPad 的非视网膜分辨率在纵向也是 768x1024。然而,在横向中,图像不适合。我试过使用 ScaleToFit 但由于图像的纵横比没有保留,我不能使用 ScaleToFit(它们是图像中的东西,当在两个轴上没有按比例缩放时,它们看起来很奇怪)。AspectFill 调整大小似乎最适合我的需要,但它们是一个小问题。正如 Apple 文档中所定义的“内容被调整大小以完全填充边界矩形,同时仍保留内容的方面。内容以其超出的轴为中心。“。我不希望内容在它超出的轴上居中,我希望它与上/左边缘对齐。

所以基本上我想要两件事:

  • 纵横填充
  • 内容在左/上边缘保持对齐。

是否有可能实现这一目标。任何代码片段都会很棒。

谢谢

scale calayer uiimageview ios ios7

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

Mongo 部分复合唯一索引 | 查询中未使用

我面临一个奇怪的问题。我有一个部分、复合、唯一索引,其定义为:

createIndex({a: 1, b:1, c: 1}, {unique:1, partialFilterExpression: {c: {$type: "string"}}})

现在,当我执行查询时,该索引永远不会按照解释计划使用。即使有与查询匹配的文档。

将相同索引更改为稀疏而不是部分修复了上述问题,但稀疏、复合、唯一索引存在以下问题: deal-with-mongodb-unique-sparse-compound-indexes

索引已正确创建

查询返回一个文档

索引未使用

mongodb

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