小编gee*_*kay的帖子

LocalAuthentication框架 - 如何在第一次调用时显示"输入密码"

我正在使用iOS的LocalAuthentication框架,并遵循网络上的一般教程为我的应用程序实现TouchID身份验证.

当应用程序调用context.evaluatePolicy(policy,error:&error)时,我想向用户显示"输入密码"选项,而不是让用户选择"取消"以关闭对话框并输入密码.

这是AppStore应用程序中的默认行为,但我无法让我的应用程序以相同的方式执行.请参阅下面的AppStore截图:

AppStore TouchID身份验证

我使用的代码与各种教程一致.见下面的代码.

我的应用程序启动时显示以下屏幕:

我的App TouchID身份验证

我在SO和其他网站上搜索过高和低,但是无法使用"显示密码"启动我的应用程序.当我使用未注册的手指来验证LA对话框时,请更改为"再试一次"并显示"显示密码"按钮.

        let context = LAContext()
        var error : NSError?

        // Test if TouchID policy is available on the device and a fingerprint has been enrolled.
        var policy : LAPolicy!
        if #available(iOS 9.0, *) {
            policy = (context.canEvaluatePolicy(LAPolicy.DeviceOwnerAuthenticationWithBiometrics, error:&error) ? LAPolicy.DeviceOwnerAuthenticationWithBiometrics : LAPolicy.DeviceOwnerAuthentication)
        } else {
            // Fallback on earlier versions
            policy = LAPolicy.DeviceOwnerAuthenticationWithBiometrics
        }
        if context.canEvaluatePolicy(policy, error:&error) {
            // evaluate
            context.evaluatePolicy(policy, localizedReason: reason, reply: {
                (success: Bool, authenticationError: NSError?) -> Void in

                // check whether …
Run Code Online (Sandbox Code Playgroud)

objective-c ios touch-id swift

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

SLF4J:对[com.datastax.driver.core.Responses $ Result $ Rows]类型的对象的toString()调用失败

使用

  • cassandra核心:2.1.0
  • slf4j:slf4j-api-1.7.6.jar
  • slf4j-log4j:slf4j-log4j12-1.7.2.jar

我经常在tomcat catalina.out中收到此消息,而不会丢失应用程序的功能:

SLF4J: Failed toString() invocation on an object of type [com.datastax.driver.core.Responses$Result$Rows]
com.datastax.driver.core.exceptions.InvalidTypeException: Invalid 32-bits integer value, expecting 4 bytes but got 20
        at com.datastax.driver.core.TypeCodec$IntCodec.deserializeNoBoxing(TypeCodec.java:672)
        at com.datastax.driver.core.TypeCodec$IntCodec.deserialize(TypeCodec.java:667)
        at com.datastax.driver.core.TypeCodec$IntCodec.deserialize(TypeCodec.java:634)
        at com.datastax.driver.core.TypeCodec$ListCodec.deserialize(TypeCodec.java:922)
        at com.datastax.driver.core.TypeCodec$ListCodec.deserialize(TypeCodec.java:848)
        at com.datastax.driver.core.DataType.deserialize(DataType.java:546)
        at com.datastax.driver.core.Responses$Result$Rows.toString(Responses.java:430)
        at org.slf4j.helpers.MessageFormatter.safeObjectAppend(MessageFormatter.java:305)
        at org.slf4j.helpers.MessageFormatter.deeplyAppendParameter(MessageFormatter.java:277)
        at org.slf4j.helpers.MessageFormatter.arrayFormat(MessageFormatter.java:231)
        at ch.qos.logback.classic.spi.LoggingEvent.getFormattedMessage(LoggingEvent.java:298)
        at ch.qos.logback.classic.spi.LoggingEvent.prepareForDeferredProcessing(LoggingEvent.java:208)
        at ch.qos.logback.core.OutputStreamAppender.subAppend(OutputStreamAppender.java:206)
        at ch.qos.logback.core.rolling.RollingFileAppender.subAppend(RollingFileAppender.java:175)
        at ch.qos.logback.core.OutputStreamAppender.append(OutputStreamAppender.java:103)
        at ch.qos.logback.core.UnsynchronizedAppenderBase.doAppend(UnsynchronizedAppenderBase.java:88)
        at ch.qos.logback.core.spi.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:48)
        at ch.qos.logback.classic.Logger.appendLoopOnAppenders(Logger.java:273)
        at ch.qos.logback.classic.Logger.callAppenders(Logger.java:260)
        at ch.qos.logback.classic.Logger.buildLoggingEventAndAppend(Logger.java:442)
        at ch.qos.logback.classic.Logger.filterAndLog_2(Logger.java:433)
        at ch.qos.logback.classic.Logger.trace(Logger.java:454)
        at com.datastax.driver.core.Connection$Dispatcher.messageReceived(Connection.java:558)
        at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:80)
        at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
        at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:783)
        at …
Run Code Online (Sandbox Code Playgroud)

slf4j cassandra

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

标签 统计

cassandra ×1

ios ×1

objective-c ×1

slf4j ×1

swift ×1

touch-id ×1