小编oma*_*ojo的帖子

ARKIT:使用PanGesture移动对象(正确的方法)

我一直在阅读大量关于如何通过在屏幕上拖动对象来移动对象的StackOverflow答案.有些人使用针对.featurePoints的命中测试,有些人使用手势翻译或只是跟踪对象的lastPosition.但老实说..没有人按照每个人的期望它的方式工作.

对.featurePoints进行测试只会使对象四处跳跃,因为拖动手指时不会总是碰到一个特征点.我不明白为什么每个人都在暗示这一点.

像这样的解决方案:使用SceneKit在ARKit中拖动SCNNode

但是物体并没有真正跟随你的手指,并且你走了几步或改变物体或相机的角度的那一刻......并尝试移动物体.. x,z都是倒置的......并且完全有意义要做到这一点.

我真的想要像Apple Demo一样移动对象,但我看看Apple的代码......并且非常奇怪且过于复杂我甚至无法理解.他们移动物体如此美化的技术甚至不像每个人在网上提出的那样接近. https://developer.apple.com/documentation/arkit/handling_3d_interaction_and_ui_controls_in_augmented_reality

必须有一个更简单的方法来做到这一点.

xcode ios scenekit arkit

11
推荐指数
2
解决办法
3058
查看次数

如何在iOS Mantle模型子类中设置默认值

@interface Entity ()
  @property (assign) int searchTotalPagesAll;
  @property (assign) int searchTotalPagesIdeas;
@end


@implementation Entity
  + (NSDictionary *)JSONKeyPathsByPropertyKey {
return @{
         @"Id": @"entity.id_entity",
         @"name": @"entity.name",
         @"coverage" : @"entity.coverage",
         @"id_city": @"entity.Id_City",
         @"cityName":@"entity.city",
         @"countryName":@"entity.country",
         @"stateName":@"entity.district",
         @"countryCode": @"entity.countrycode",
         @"keyword1": @"entity.key1",
      ... etc
Run Code Online (Sandbox Code Playgroud)

由于mantle示例没有init方法,我应该在哪里初始化这些属性(searchTotalPagesAll,searchTotalPagesIdeas)以获取默认值?此模型具有需要此内容和其他几个属性的内部方法.

objective-c ios github-mantle

7
推荐指数
2
解决办法
3109
查看次数

使用Facebook Live API为我的移动应用程序

我想使用新的Facebook Live API将其集成到我的视频过滤器移动应用程序中.所以我可以流式传输手机生成的内容.但我在文档中读到了一些关于他们不会允许的内容.

有人经历过与此相关的任何事情吗?

请注意,Facebook的API不应用于同时将内容流式传输到其他在线服务,并且该API不适用于手机相机.第三方广告不应包含在流中.

这是否意味着,任何人都无法在手机中集成facebook live API.只在桌面上?

mobile facebook live-streaming facebook-graph-api facebook-live-api

7
推荐指数
1
解决办法
1948
查看次数

Audiokit记录-55:例外(-1):“”-反复

我更新到了最新版本的Audiokit 4.5,现在正在打印要收听麦克风振幅的Audiokit类:55:控制台上的EXCEPTION(-1):“”无限。该应用程序不会崩溃或发生任何事情。

我的应用程序是一个使用GPUImage库记录的摄像机应用程序。仅当由于某种原因开始录制时,日志才会显示。

在此之上。我的onAmplitudeUpdate回调方法不再输出任何内容,仅输出0.0个值。在更新Audiokit之前没有发生这种情况。这里有什么想法吗?

这是我的课:

//  G8Audiokit.swift
//  GenerateToolkit
//
//  Created by Omar Juarez Ortiz on 2017-08-03.
//  Copyright © 2017 All rights reserved.
//

import Foundation
import AudioKit

class G8Audiokit{

    //Variables for Audio audioAnalysis
    var microphone: AKMicrophone! // Device Microphone
    var amplitudeTracker: AKAmplitudeTracker! // Tracks the amplitude of the microphone
    var signalBooster: AKBooster! // boosts the signal
    var audioAnalysisTimer: Timer? // Continuously calls audioAnalysis function
    let amplitudeBuffSize = 10 // Smaller buffer will yield more amplitude …
Run Code Online (Sandbox Code Playgroud)

core-audio avfoundation swift audiokit

7
推荐指数
0
解决办法
259
查看次数

在iPhone上实现SSH客户端

有没有人知道在iPHone上实现SSH客户端的开源项目?我实际上需要一个终端仿真来运行我的控制台应用程序,我甚至不需要离开我的沙盒.但是没有找到任何不违反苹果规则的终端仿真.(-MobileTerminal-只适用于越狱,并运行我的控制台应用程序)和AFAIK由于其forkpty()实现,它无法实现它的Appstore有效版本.

我仍然在AppStore上看到很多发送接收数据的SSH客户端(类似终端).因此,必须有一种方法来模拟iPhone上的终端/控制台事物......这就是我需要的东西,但我看到没有人给出一些源代码.

iphone terminal xcode ios

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

如何跟上PHP框架的发展?

所以我即将为云启动一个大型物业管理系统.这个酒店系统已经存在于VB.net技术中,现在我们将整个系统移植到网络上.

我们正在尝试在ASP.net或PHP之间做出决定,我们正在考虑使用PHP,因为ASP.net在许可和服务器上的成本太高.所以有Laravel,Symphony,CodeIgniter,Zend等.

问题是,这个项目假设要活多年.但是我们觉得通过使用PHP框架来约束,因为每次框架更新时我们都需要更新整个系统.例如..现在Laravel从版本4更新到5.整个文件夹结构发生了变化.我无法想象我们的大系统需要更新并跟上每个Laravel版本的更新.你怎么跟上这个?

此外,如果Laravel消失,将会发生什么,现在是时尚潮流.但是我们看到PHP框架来去匆匆.

不使用任何php框架并从头开始构建所有内容以更多地控制它是否更明智?

php cloud frameworks laravel

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

未收到 Firebase 重置密码电子邮件

我正在使用控制台界面 > 身份验证 > 用户。

我创建了几个基于电子邮件/密码的用户(使用控制台 Web UI),然后选择“重置密码”操作为多个用户发送重置密码电子邮件。

我在屏幕上看到“密码重置电子邮件已发送”弹出窗口,但我从未收到电子邮件,我认为它可能在垃圾邮件文件夹中,但没有。我尝试使用不同的电子邮件提供商(包括 Gmail)使用不同的电子邮件地址。永远不会收到电子邮件。

任何的想法?再次......我使用 Firebase 系统中的控制台 UI(“添加用户”按钮)创建了用户。

在此处输入图片说明

email firebase firebase-authentication firebase-console

6
推荐指数
0
解决办法
2259
查看次数

Youtube API v3 - 获取"Live Now"rtmp和streamkey

Youtube现在有一个实时流媒体部分,允许用户播放他们自己的直播会话.在"直播"部分中,有2个选项:"立即直播[Beta]"和"活动".

  • "立即生活"是一种快速简便的方法,只需将视频编码器指向指定的RTMP Url和Stream Key即可自动启动流式会话.它将自动检测入媒体并开始公开播放.

  • 事件几乎是一样的,但是使用高级设置,虽然它不会自动开始广播,你需要手动设置所有内容.

我知道Youtube API允许您检索事件的摄取URL和streamkey,因此您可以广播到该目标,但它还需要手动管理许多其他步骤(如发布流,使用流绑定广播,检查状态,启动,停止等等.).另一方面,"Live Now"会自动生成所有内容.

问题:如何从Youtube API v3中检索"Live Now"提取信息(rtmp url和streamkey)?

youtube rtmp youtube-api youtube-livestreaming-api

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

MTAudioProcessingTap EXC_BAD_ACCESS 并不总是触发最终回调。如何释放它?

我正在尝试实现MTAudioProcessingTap,它效果很好。问题是当我使用完 Tap 后,我重新实例化我的类并创建一个新的 Tap。

我应该如何释放水龙头 1- 我在创建时保留水龙头作为属性,希望我可以访问它并稍后释放它 2- 在类的deinit()方法中,我将 audiomix 设置为 nil 并尝试执行 self .tap?.release()

问题是..有时它可以工作并调用 FINALIZE 回调,一切都很好,有时它不能工作,只是在tapProcess回调行崩溃:

let selfMediaInput = Unmanaged<VideoMediaInput>.fromOpaque(MTAudioProcessingTapGetStorage(tap)).takeUnretainedValue()
Run Code Online (Sandbox Code Playgroud)

这是完整的代码:https://gist.github.com/omarojo/03d08165a1a7962cb30c17ec01f809a3

import Foundation
import UIKit
import AVFoundation;
import MediaToolbox

protocol VideoMediaInputDelegate: class {
    func videoFrameRefresh(sampleBuffer: CMSampleBuffer) //could be audio or video
}

class VideoMediaInput: NSObject {
    private let queue = DispatchQueue(label: "com.GenerateMetal.VideoMediaInput")

    var videoURL: URL!

    weak var delegate: VideoMediaInputDelegate?

    private var playerItemObserver: NSKeyValueObservation?
    var displayLink: CADisplayLink!
    var player = AVPlayer()
    var …
Run Code Online (Sandbox Code Playgroud)

audio core-audio avfoundation ios swift

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

ARKIT-它可以跟踪多少个跟踪图像?

因此,我了解到,为了跟踪图像,我们需要创建一个AR资源文件夹,并将要跟踪的所有图像放置在该文件夹中,并通过检查器配置它们的实际大小属性。

然后,我们将ARReferenceImages数组设置为Session的World Config。

一切都很好。但是我们能追踪多少呢?10点 100?1000000?是否有可能立即下载这些图像并创建ARReferences,而不是从一开始就将它们包含在包中?

xcode augmented-reality ios scenekit arkit

3
推荐指数
2
解决办法
1812
查看次数

Scenekit:为什么 SCNNode 不应该被子类化?

我一直在 StackOverflow 中读到,我们不应该子类化 SCNNode,有人可以为我指出 Scenekit 最佳实践的正确方向吗?

我觉得子类化 SCNNode 将帮助我拥有不同类型的子类的特殊方法。遵循面向对象编程..也许作为 SCNNode 子类的 3d 汽车可以具有启动引擎、移动、开门等方法。

如果这不是正确的方法..如何将 SCNNode 与额外的属性和方法耦合?另外,如何区分汽车的 SCNNode 和卡车、飞机或其他任何东西的 SCNNode?

3d ios scenekit swift arkit

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