小编Chi*_*tri的帖子

Firebase匿名身份验证持久性在设备上

我正在使用firebase作为用Swift3编写的IOS应用程序的后端.

我不希望我的用户输入任何类型的凭证,所以我使用匿名身份验证.

在我appDelegateapplicationfunc中我打电话:

 FIRAuth.auth()?.signInAnonymously() { (user, error) in
 ... }
Run Code Online (Sandbox Code Playgroud)

这意味着每次用户启动应用程序时我都会调用此函数.到目前为止,在我的测试阶段,它按照我的预期工作.这意味着我每次都获得相同的UID.

除非用户删除应用程序,否则我会继续获得相同的UID是否安全?

我看到FIRUser我可以在使用时检索令牌getTokenWithCompletion.我不应该使用这个令牌而不是每次使用时使用某些东西登录signInAnonymously吗?

我试过func signIn(withCustomToken token: String, completion: FIRAuthResultCallback? = nil)但后来看到这是在使用自签名自定义身份验证令牌时使用的.这不是这种情况.

我想要避免的是我的用户开始保存数据以及在X时间之后丢失所有保存数据的原因,因为他们使用新的UID登录.

感谢致敬

ios firebase swift firebase-authentication

8
推荐指数
0
解决办法
450
查看次数

在移动Safari中上传HEIF图像时保留EXIF(GPS/DateTimeOriginal)

在上传HEIF图像时,似乎iOS 11手机游戏将剥离一些EXIF(GPS/DateTimeOriginal),如何保存EXIF?

safari ios heif

8
推荐指数
0
解决办法
439
查看次数

becomeFirstResponder导致崩溃UICompatibilityInputViewController

我有一个消息应用程序.我UITabeView在ViewController中有一个.我在我的Custom上实现了我的longPressGesture事件,UITableViewCell以便在其上显示UIMenuController(copy-forward和...):

AudioMsgCell

-(void)handleLongPress:(UIGestureRecognizer *)gesture
        [self becomeFirstResponder]; // i crash on this Line
        UIMenuController *menu = [UIMenuController sharedMenuController];
        UIMenuItem *delete = [[UIMenuItem alloc] initWithTitle:@"Delete" action:@selector(Delete:)];
        CGRect targetRect = [self convertRect:[self.bubbleImageView frame]
                                     fromView:self];
        [menu setMenuItems:[NSArray arrayWithObjects:delete,nil]];
        [menu setTargetRect:targetRect inView:self];
        [menu setMenuVisible:YES animated:YES];}
Run Code Online (Sandbox Code Playgroud)

我有一个UIMenuControllerinclude XIB file&some UITextField和myviewController我UIButton查看.

TextingViewController

 [self.view addSubview:self.inputView];
Run Code Online (Sandbox Code Playgroud)

当我在单元格上长按手势时,我会在方法上崩溃

AudioMsgCell

 [self becomeFirstResponder]
Run Code Online (Sandbox Code Playgroud)

我以前遇到过这个问题,当我在iOS 8中实现了额外的键盘时,但现在当我在我的Cell应用程序上做手势时出现此错误:

Terminating app due to uncaught exception 'UIViewControllerHierarchyInconsistency', reason: 'child view controller:<UICompatibilityInputViewController: 0x14459d620> should have parent view controller:<BLTextingViewController: …
Run Code Online (Sandbox Code Playgroud)

objective-c becomefirstresponder ios ios8

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

生成令牌时GCM on iOS出错:(com.google.iid错误7)

我正在使用带有GCM(Google云消息传递)服务的推送通知开发应用.问题是:有时在生成令牌时,它会显示此错误:GCM失败并显示错误:操作无法完成.(com.google.iid错误7.)有人可以帮助我吗?

ios google-cloud-messaging

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

清除iOS 9.3中的NSCache不起作用

清除存储在NSCache中的对象时遇到问题.试图使用:

 NSCache.removeAllObjects();
Run Code Online (Sandbox Code Playgroud)

但它似乎没有奏效.我正在使用iOS 9.3进行上述操作,该版本于本周发布.

ios swift xcode7 ios9.3

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

NetStream.Play.Failed与iOS Air App中的VideoTexture一起使用

我想在iOS上用Away3d纹理播放视频.它在Android和Windows上都很好用.该视频将在IOS的Starling上播放,所以我知道这不是视频.

这是我添加视频的方式

        sphereGeometry = new SphereGeometry(5000, 64, 48);
        panoTextureMaterial = new TextureMaterial(panoTexture2DBase, false, false, false);

        panoVideoMesh = new Mesh(sphereGeometry, panoTextureMaterial);
        panoVideoMesh.scaleX *= -1;

        panoVideoMesh.rotate(Vector3D.Y_AXIS,-90);

        scene.addChild(panoVideoMesh);
        panoTexture2DBase.player.play();
        view.render();
Run Code Online (Sandbox Code Playgroud)

在iOS上,当我尝试将其加载为视频纹理时,我从netstats获取此信息.

NetStream.Play.Start
NetStream.Play.Failed
NetStream.Play.Stop
Run Code Online (Sandbox Code Playgroud)

我正在使用Away3d NativeVideoTexture类

        texture = context.createVideoTexture();
            texture.attachNetStream(_player.ns);
Run Code Online (Sandbox Code Playgroud)

我认为它可能与MP4编码有关,我已经好好看看并找不到任何有效的东西,目前我在FFMEG中尝试这个

-vcodec libx264 -profile:v main -level 3.1 -crf 23 -s 1024:768 -movflags +faststart  
Run Code Online (Sandbox Code Playgroud)

但我设定的似乎没有太大的区别.

知道为什么我的视频无法在iOS上加载为VideoTexture吗?

air video away3d ios starling-framework

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

创建一个应用程序babycall,我如何链接/路由iPhone与设备蓝牙?

我有一个技术问题,我花了几个星期试图解决,但我无法做到,所以我寻求帮助.

我正在开发一个应用程序,以便它可以作为" babycall "与应用程序一起使用我们的蓝牙设备,母亲可以与宝宝一起离开.

Babycall蓝牙通过调整分享所有多媒体内容与我的iphone连接,funcionamente非常类似于头盔有麦克风.

当前:我通过babycall连接和播放我的iphone的所有声音,包括我的应用程序的声音.

问题:我必须将我的iphone与babycall链接/路由如下:

iphone-microphone - >发送声音 - > babycall-扬声器

iphone-media - >发送声音 - > babycall-扬声器

babycall-microphone - >发送声音 - > iphone-speakers

正如我在Apple的文档中所读到的,它似乎是用AVAudioSessionCategoryMultiRoute完成的,但我无法应用此设置.

你能帮帮我吗?

我在Objective-c开发.

谢谢.

iphone bluetooth objective-c ios

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

iOS - 是否可以从蓝牙麦克风录制并接收遥控事件?

我正在开发一个监听语音命令的应用程序,通过遥控器(Airpods或有线耳机)开始/停止收听语音命令的方式.我用AVAudioSession和尝试了各种AVAudioSession选项,AVAudioSessionCategoryRecord并得到以下结果:

每当默认输入是蓝牙(Airpod)麦克风(AVAudioSessionCategoryPlayAndRecord)时,应用程序不会接收远程控制事件.只要默认输入是内置麦克风或有线耳机,应用程序就会接收远程控制事件.

有谁知道是否可以启用蓝牙麦克风并接收遥控事件?

我在iOS 11.0.1和11.0.3上测试过.

microphone remote-control ios

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

让scrollTo在iOS上的iframe中工作

我在mysite.com上有一个页面,它使用iframe从subdomain.mysite.com中提取内容.我正在使用iframe-resizer脚本(https://github.com/davidjbradshaw/iframe-resizer)来确保iframe的高度始终与其内容的高度相匹配.像魅力跨浏览器/操作系统一样工作.

在iframe中是一个带有客户端验证的长格式.如果用户尝试提交表单并且它没有完全验证,我使用scrollTo(在iframe内的表单页面上)将页面滚动到表单的顶部,在表单中显示详细的错误消息.这一切都适用于桌面浏览器(Mac和Windows)以及所有Android设备 - w/r/t scrollTo滚动到iframe中表单的顶部.

但是,在iOS上,它不起作用 - 滚动到iframe内部的窗体顶部不会发生.我已经读过,自2011年以来,你需要在iOS上打开iframe滚动的能力 - 我不确定这样做是否能解决我的问题.我读到了添加style ="overflow:auto; -webkit-overflow-scrolling:touch;" 到围绕iframe的div,并尝试了这个,但它没有任何影响.

我还不知道我是否找不到合适的解决方案让它在iOS中运行,或者如果在iOS上没有办法让scrollTo在iframe内部工作.思考?

iframe jquery scrollto ios

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

如何从 HR(心率)获取 HRV(心率变异性)

我正在开发一个应用程序,其中我必须读取一分钟的心跳并从中计算心率变异性。

为了读取心跳,我使用带子(极地)

我从链接中使用过的心跳读取代码

为了计算 HRV,我浏览了以下链接,但没有任何帮助:

  1. SDNN/RMSSD 的研究文章

  2. 用于 HRV 分析的 RMSSD

  3. HR 和 HRV 的比较

请提供我可以从 HR 中获取 HRV(RMSSD) 的公式,获取 HR 的持续时间为一分钟。

任何帮助,将不胜感激..

编辑:

我通过以下代码获得了 RR 值:

- (void) updateWithHRMData:(NSData *)datas {

const uint8_t *reportData = [datas bytes];

uint16_t bpm = 0;
uint16_t bpm2 = 0;

if ((reportData[0] & 0x04) == 0)
{
    NSLog(@"%@", @"Data are not present");
}
else
{

    bpm = CFSwapInt16LittleToHost(*(uint16_t *)(&reportData[2]));

    bpm2 = CFSwapInt16LittleToHost(*(uint16_t *)(&reportData[4]));

    if (bpm != 0 || bpm2 != 0) {

            NSLog(@"%u", bpm); …
Run Code Online (Sandbox Code Playgroud)

bluetooth heartbeat ios

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