小编Wil*_*ley的帖子

点击MKAnnotationView取消选择它并隐藏它的标注

我有一个带有自定义注释的iOS应用程序.

  1. 我希望能够点击一次MKAnnotationView来显示它的标注(工作正常)
  2. 然后我想第二次点击MKAnnotationView来取消选择注释并隐藏该注释的标注(适用于iOS5但不适用于iOS6).

我知道didSelectAnnotationView只应该用于初始选择注释.([1]:选择一个MapView注释两次 ),并基于这篇文章和其他人我已经读过([2]:通过点击地图关闭注释标注的ios mapkit),它看起来像是在检测到MKAnnotationView之后的任何额外点击它被选中需要一个UITapGestureRecognizer.

所以,我正在使用UITapGestureRecognizer,当我已经选择了我的注释视图时,我正在检测其他点击,当我识别出点击时我正在调用deselectAnnotation,而我正在隐藏/取消选择标注/注释分别.它在iOS5中运行良好,但它只有一半适用于iOS6

在iOS6中,调用轻击手势识别器,我调用我的代码来隐藏标注并取消选择注释,一切都很好,但随后以某种方式调用selectAnnotationView方法,因此我的标注再次显示,我的注释再次被选中.

我假设发生的事情是,在我的点击手势识别器中取消选择注释视图后,点击事件仍处于活动状态,mapView检测到触摸事件并调用selectAnnotationView,因此注释我只是现在正在再次选择取消选择.

我不知道为什么它只发生在iOS6中,但我希望能够输入任何其他想法来处理我想要的行为.

map mkmapview mkannotationview ios callout

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

Firebase Firestore 模拟器批量导入速度缓慢

在处理批量数据时,Firebase 的本地Firestore 模拟器似乎相当慢。

我正在尝试模拟约 5,000,000 个文档的生产批量导入,但在几千条记录之后,服务器不堪重负,速度减慢至每秒 5 条记录左右。

关于事务和批量写入的主题,firebase 说......

注意:对于批量数据输入,请使用具有并行单独写入的服务器客户端库。批量写入的性能优于串行写入,但不优于并行写入。您应该使用服务器客户端库进行批量数据操作,而不是移动/网络 SDK。

这对我来说意味着我不应该使用移动/网络 SDK,而应该确保使用服务器端 SDK/API 进行导入。

我已经在使用node.js服务器客户端库

  const batch = firestore.batch();

  for (const record of records) {
    batch.set(
      firestore.collection(collection).doc(record.key),
      record,
    );
  }
  await batch.commit();
Run Code Online (Sandbox Code Playgroud)

...这个问题让我认为本地模拟器(或一般的 firestore)无法跟上高负载。

bulk-load firebase firebase-tools google-cloud-firestore

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

为什么 Xcode 构建配置的精确副本会失败?

我有一个react-native带有桥接 Swift 代码的应用程序,它在构建、运行和存档时10.0使用默认ReleaseDebug构建配置的Xcode 没有问题。我使用Xcode-> Product->Archive或“播放”按钮,一切都按预期工作。伟大的!

然后今天我添加了一个新的构建配置,它与Release. 它被命名为Release copy。我也做了同样的事情Debug,它的副本是Debug copy.

显示复制发布构建配置过程的 xcode 菜单屏幕截图

如果我尝试使用副本运行相同Archive或相同的Run任务,任务将在Precompile bridging header.

/Users/whaley/dev/app/theApp/theApp-Bridging-Header.h:5:9: error: 'React/RCTBridgeModule.h' file not found
#import <React/RCTBridgeModule.h>
        ^
1 error generated.
<unknown>:0: error: failed to emit precompiled header '/Users/whaley/Library/Developer/Xcode/DerivedData/theApp-ckvpglaqydwzhadbbyqoprcjvnod/Build/Intermediates.noindex/ArchiveIntermediates/theApp/PrecompiledHeaders/theApp-Bridging-Header-swift_320079J7441HX-clang_QK5YQQC41WXA.pch' for bridging header '/Users/whaley/dev/theApp/ios/theApp-Bridging-Header.h'
Run Code Online (Sandbox Code Playgroud)

奇怪,在我看来,因为这应该是运行良好的构建配置的精确副本。

如果我切换回原始构建配置,一切都很好。原件始终有效,而副本始终失败。

我尝试禁用Precompile bridging header任务,但遇到了不同且类似的错误。同样,原始构建配置在副本失败的地方工作。

我已经在使用Find 隐式依赖项,桥接标头已正确命名,我没有使用Cocoapods,我已经重新启动并清除了 Xcode 的 …

xcode react-native

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