小编Mig*_*ran的帖子

在使用Xcode 4的新项目中,.app文件显示为红色(缺失)

每次我创建一个Xcode 4项目(iPhone应用程序,可可库......)时,.app文件或Products组下的.a文件都会显示为红色(缺少).

即使我构建项目,文件仍然是红色的.

我的所有设置都是默认值.

提前致谢.

xcode4

39
推荐指数
3
解决办法
3万
查看次数

EmojiCompat fetchFont结果不行

我的应用程序使用EmojiCompat进行字体下载(未捆绑),并且我的大量用户报告以下错误:

Non-fatal Exception: java.lang.RuntimeException: fetchFonts result is not OK. (2)
   at android.support.text.emoji.FontRequestEmojiCompatConfig$FontRequestMetadataLoader.createMetadata(FontRequestEmojiCompatConfig.java:307)
   at android.support.text.emoji.FontRequestEmojiCompatConfig$FontRequestMetadataLoader.access$100(FontRequestEmojiCompatConfig.java:164)
   at android.support.text.emoji.FontRequestEmojiCompatConfig$FontRequestMetadataLoader$1.run(FontRequestEmojiCompatConfig.java:218)
   at android.os.Handler.handleCallback(Handler.java:739)
   at android.os.Handler.dispatchMessage(Handler.java:95)
   at android.os.Looper.loop(Looper.java:158)
   at android.os.HandlerThread.run(HandlerThread.java:61)
Run Code Online (Sandbox Code Playgroud)

我找不到任何对此错误消息的引用,我不知道是什么导致它.我猜测这是Google Play服务字体下载的内部问题.

编辑2017-11-13:仍在支持库27.0.0上发生.

编辑2017-11-15:我的配置.

在我的Application类上,在onCreate()上:

val fontRequest = FontRequest(
        "com.google.android.gms.fonts",
        "com.google.android.gms",
        "Noto Color Emoji Compat",
        R.array.com_google_android_gms_fonts_certs)
val config = FontRequestEmojiCompatConfig(this, fontRequest)
config.setReplaceAll(true)
EmojiCompat.init(config)
Run Code Online (Sandbox Code Playgroud)

使用表情符号解析文本:

EmojiCompat.get().registerInitCallback(object : EmojiCompat.InitCallback() {
    override fun onInitialized() {
        text = EmojiCompat.get().process(charSequence)
    }

    override fun onFailed(throwable: Throwable?) {
        throwable?.let { Crashlytics.logException(throwable) }
    }
})
Run Code Online (Sandbox Code Playgroud)

以上异常记录在Crashlytics.logException()上

android android-support-library

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

RxJava Completabe然后测试

我有以下RxJava2 Kotlin代码:

val tester = Completable.complete()
            .andThen(SingleSource<Int> { Single.just(42) })
            .test()        
tester.assertComplete()
tester.assertValue(42)
Run Code Online (Sandbox Code Playgroud)

这模拟了一个Completable observable(想象一个对API的简单更新操作),然后是一个Single observable(在API上映像获取操作).我希望以一种方式连接两个observable,当Completable完成时,Single运行,最后我在我的观察者(Int 42)上获得onSuccess事件.

但是这个测试代码不起作用.断言失败,出现以下错误:

java.lang.AssertionError: Not completed
(latch = 1, values = 0, errors = 0, completions = 0))
Run Code Online (Sandbox Code Playgroud)

我无法理解我做错了什么,我希望Completable在订阅时发出onComplete,然后Single订阅,我的observer(tester)获得一个值为42的onSuccess事件,但似乎订阅仍然"暂停" "没有发光.

这个想法类似于这篇博文中的内容:https://android.jlelse.eu/making-your-rxjava-intentions-clearer-with-single-and-completable-f064d98d53a8

apiClient.updateMyData(myUpdatedData) // a Completable
    .andThen(performOtherOperation()) // a Single<OtherResult>
    .subscribe(otherResult -> {
        // handle otherResult
    }, throwable -> {
        // handle error
    });
Run Code Online (Sandbox Code Playgroud)

rx-java

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

无法从 ML Kit 加载自定义模型:FirebaseMLException:加载任务失败

我正在关注 Codelab:https ://codelabs.developers.google.com/codelabs/mlkit-android-custom-model/#0并且它按原样工作,但是一旦我删除提供的本地模型以强制使用云模型,我得到一个模糊的错误。

我与codelab不同的是:

//        manager.registerLocalModelSource(localModelSource)
    manager.registerCloudModelSource(cloudSource)

    return FirebaseModelOptions.Builder()
            .setCloudModelName(HOSTED_MODEL_NAME)
//                .setLocalModelName("asset")
            .build()
Run Code Online (Sandbox Code Playgroud)

注释掉“本地”模型配置,因此我强制项目使用托管的 ML Kit 模型。

但是,运行模型时出现以下错误:

E/MainActivity: com.google.firebase.ml.common.FirebaseMLException: The load task failed
    com.google.android.gms.tasks.RuntimeExecutionException: com.google.firebase.ml.common.FirebaseMLException: The load task failed
        at com.google.android.gms.tasks.zzu.getResult(Unknown Source:17)
        at work.beltran.mlkitcustommodelcodelab.MainActivity$onCreate$$inlined$use$lambda$1.then(MainActivity.kt:61)
        at com.google.android.gms.tasks.zzd.run(Unknown Source:26)
        at android.os.Handler.handleCallback(Handler.java:790)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:172)
        at android.app.ActivityThread.main(ActivityThread.java:6590)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
     Caused by: com.google.firebase.ml.common.FirebaseMLException: The load task failed
        at com.google.android.gms.internal.firebase_ml.zzgy.zzf(Unknown Source:75)
        at com.google.android.gms.internal.firebase_ml.zzgu.call(Unknown Source:8)
        at com.google.android.gms.internal.firebase_ml.zzgp.zza(Unknown Source:0)
        at com.google.android.gms.internal.firebase_ml.zzgq.run(Unknown Source:4)
        at android.os.Handler.handleCallback(Handler.java:790)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:172)
        at …
Run Code Online (Sandbox Code Playgroud)

android firebase-mlkit

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

使用小部件测试在滑块中选择值

我有一个包含一系列滑块的屏幕,用户可以在其中选择是否同意/不同意某些内容,例如:

Slider(
  key: Key(questionId),
  min: 0,
  max: 5,
  divisions: 5,
  value: _value,
  onChanged: (value) {
     setState(() {
       _value = value;
     });
  },
),
Run Code Online (Sandbox Code Playgroud)

我目前正在使用 实现 UI 测试testWidgets,其中用户在 Sliders 中选择多个值,然后在用户单击按钮时存储,并且我希望能够选择一个值,例如,滑动滑块值'2'。

我怎样才能做到这一点?

我唯一的想法是使用tapAt值在滑块中的精确像素坐标,但似乎非常复杂。

为了澄清起见,我正在询问 Widget 测试,如下所述:https : //flutter.dev/docs/cookbook/testing/widget/introduction

flutter flutter-test

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