草庐IT

ios - Xcode Native UITests 在真实设备上非常慢

如果我在模拟器上运行我的UITests,它们会运行得更快,每次交互都以某种方式更快。模拟器大约需要20秒,而真实设备大约需要2分钟。这就像我看到一只树懒在真实设备上点击按钮。一些信息:Xcode9.2设备:iPhone6plus(iOS10.1.1)和iPadAir(10.3.3)配备MacOSSierra10.12.6的MacBookPro(Retina,15英寸,2015年中)swift4模拟器:iPhone6(iOS11.2)我注意到运行iOS11.2.6的iPhone6plus运行UITests的速度明显更快。这不是性能问题,而是空转问题。有什么想法吗?

ios - 文本字段上的 UITapGestureRecognizer 与预期不符

在我的类里面,我有11个UITapGestureRecognizers数组textViewRecognizer附加到数组boxArray中的100个UITextFields中的11个。当点击包含UIGestureRecognizer的文本字段时,它会运行tappedTextView,我会在其中尝试获取第一响应者的索引。但是,由于事情的执行顺序有些奇怪,操作函数只给我前一个第一响应者的第一响应者到刚刚被点击的那个。此外,我什至必须双击才能选择我想要的文本字段!我需要使用tap函数而不是文本委托(delegate),所以这真让人头疼。我有...@objcfunctappedTextFiel

ios - DJI Virtual Stick 控件未正确应用

我正在构建一个无人机应用程序,它将发送室内飞行的飞行命令。我正在实现描述的DJIMobileSDK的虚拟棒here.用大疆的模拟器教程实验后发现here,我为我的应用程序实现了一个精简的非模拟版本。当我在户外测试我的应用程序时,控件始终如一地正常工作。但是,当我进入室内时,不管发送的命令如何,无人机只执行1个Action:无人机朝其左后螺旋桨的方向飞行。即使命令只是转动无人机,无人机也会始终朝这个方向飞行。知道会发生什么吗?我不确定要发布什么代码,因为我的代码在户外工作。更新#1这是我的飞行Controller设置(在Swift中实现):self.flightController=(D

ios - 如何将 Firebase 中的 child 的名字设置为来自文本字段的用户输入?

以下是我希望我的数据树在Firebase中的显示方式:用户:--特拉维斯:------travis数据:--斯蒂芬妮:------斯蒂芬妮数据:我的问题是我似乎无法使用来自文本字段的用户输入来命名child。这是我目前的代码:ref=Database.database().reference()letusername=String(emailTextField.text!)//ref.child("users").setValue(["username":username])ref.child("users").setValue(["\(username)":calendar])注释掉

ios - AWS CLI SNS 向我的 iOS 应用程序推送通知有效,但我如何播放不同的声音或更改角标(Badge)编号?

我正在使用AmazonWebService命令行界面通过以下命令向我的iOS应用程序发送推送通知:awssnspublish--target-arn\"arn:aws:sns:us-east-1:545678945607:endpoint/APNS_SANDBOX/MyApp/lk4ggss56-2F29-3r55-6Qw2-dsd4sad4s5a\"--message\"hello!\"这工作正常,但是否也可以传递信息以播放非默认声音或使用AWSCLI更改应用程序的角标(Badge)编号?直接向Apple的APNs发送消息时,您可以发布与此类似的jsonblock来更改播放的声音或角

ios - Swift IOS 中的辅助功能画外音单次滑动手势

我正在开发与画外音相关的IOS应用程序,我的问题是:当启用辅助功能画外音时,我如何获得向左、向右、向上和向下滑动手势,快速检测这些手势的功能是什么? 最佳答案 首先,您需要让VoiceOver了解您的View(或其他元素)。因此,如果您在ViewController中,这应该有效:self.view.isAccessibilityElement=true其次,您需要让VoiceOver知道您的View将自行处理用户交互:self.view.accessibilityTraits=UIAccessibilityTraitAllowsD

ios - 无效和重新启动后,Swift 计时器将无法工作

我正在使用Timer()指示音频播放器中的当前音频位置funcstartTimer(){print("PlayerController:startTimer()")ifitemPlayTimer!=nil{return}itemPlayTimer=Timer.scheduledTimer(timeInterval:0.001,target:self,selector:#selector(updateItemPlayerTimer),userInfo:nil,repeats:true)}@objcfuncupdateItemPlayerTimer(){guardletcurrentTim

ios - CocoaPods 不适用于框架目标

我正在构建一个使用第三方库的IOS应用。库项目继承自另一个开发者,我无法提出任何要求。它被配置为使用CocoaPods来管理依赖项,它有很多依赖项。当我运行“podinstall”时,它会下载所有这些文件并创建工作区。在工作区中,我已将应用程序目标设置为依赖于框架项目产品然后我尝试构建它,它说它找不到框架项目的依赖项之一(它在podfile上)然后我发现框架项目在构建阶段缺少“[CP]EmbedPodsFrameworks”(应用程序项目有)“Pods_[targetName].framework”也显示为红色(即使它确实在构建产品文件夹中,路径也是正确的)我找到了thisissue这

ios - 如何判断一个自定义类是可变的还是不可变的?

我们知道NSArray是不可变的,NSMutableArray是可变的,因为我们可以通过它的名字来判断。但是我们怎么知道一个自定义类是否可变呢? 最佳答案 我相信在Objective-C或OS库中没有特殊的接口(interface)或API可以做到这一点。您可以像这样检查已知类型:if([objisKindOfClass:[NSMutableArrayclass]]){returnYES;//mutable}if([objisKindOfClass:[NSMutableSetclass]]){returnYES;//mutable}

php - 使用 iOS 和 PHP 发送 fcm 推送通知

我正在尝试编写一个应用程序以通过Firebase云消息传递接收通知。它最初在我尝试通过Firebase控制台发送消息时有效,但当我尝试使用PHPweb服务执行相同操作时,作为响应,它显示成功,但我既没有收到消息也无法获得更多通知通过Firebase控制台。我该如何解决这个问题?我在服务器端的代码:$tokens,'data'=>$message);$headers=array('Authorization:key=AIzaSyDjrLKZGs4OcIgBPxpFnTzGeZHur4v9V8U','Content-Type:application/json');$ch=curl_init