小编was*_*tar的帖子

证书中的Bundle ID与您输入的Bundle ID不匹配

我的证书捆绑ID与Firebase控制台中输入的捆绑ID不匹配,当我尝试上传云消息传递证书时.我收到错误:

证书中的Bundle ID与您输入的Bundle ID不匹配.

我的问题是,在Xcode,Apple Developer Portal和Firebase Console中匹配我项目的Bundle ID的最佳方法是什么?我是否在iTunes Connect中创建新应用,然后生成新证书?我可以在Firebase控制台或Apple Developer Portal中更改Bundle ID吗?或者,我是否可以使用匹配的捆绑包ID创建新证书,就像在我的Firebase控制台中一样,而无需在iTunes Connect中创建新的应用程序?

xcode itunesconnect ios firebase firebase-console

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

页面包含一个带有 LayoutTransition(或 animateLayoutChanges="true")的 ViewGroup,这会干扰滚动动画

我将 Fragment 与 ViewPager2 一起使用,我注意到在运行 Android 8 或 9 的小米、宇龙、华硕、vivo 等设备中出现了两个相关的 IllegalStateExceptions(我自己无法重现):

Fatal Exception: java.lang.IllegalStateException: Page can only be offset by a positive amount, not by -758
       at androidx.viewpager2.widget.ScrollEventAdapter.updateScrollEventValues(ScrollEventAdapter.java:280)
       at androidx.viewpager2.widget.ScrollEventAdapter.onScrolled(ScrollEventAdapter.java:178)
       at androidx.recyclerview.widget.RecyclerView.dispatchOnScrolled(RecyclerView.java:5173)
       at androidx.recyclerview.widget.RecyclerView$ViewFlinger.run(RecyclerView.java:5338)
       at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1029)
       at android.view.Choreographer.doCallbacks(Choreographer.java:834)
       at android.view.Choreographer.doFrame(Choreographer.java:760)
       at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1015)
       at android.os.Handler.handleCallback(Handler.java:873)
       at android.os.Handler.dispatchMessage(Handler.java:99)
       at android.os.Looper.loop(Looper.java:224)
       at android.app.ActivityThread.main(ActivityThread.java:7083)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:537)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:928)
Run Code Online (Sandbox Code Playgroud)

Fatal Exception: java.lang.IllegalStateException: Page(s) contain a ViewGroup with a LayoutTransition (or animateLayoutChanges="true"), which interferes with the scrolling animation. Make sure to call …
Run Code Online (Sandbox Code Playgroud)

java android android-recyclerview android-viewpager2

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

处理 Podfile 的安装后挂钩时发生错误

当我运行或 时,它post_install曾经起作用。但现在它抛出一个错误:pod installpod update

[!] An error occurred while processing the post-install hook of the Podfile.

undefined method `push' for #<String:0x007f8726e2ee60>
Did you mean?  puts

/Users/waseefakhtar/Documents/iOS /Swift 3/Canary/Podfile:39:in `block (4 levels) in from_ruby'
/Users/waseefakhtar/Documents/iOS /Swift 3/Canary/Podfile:37:in `each'
/Users/waseefakhtar/Documents/iOS /Swift 3/Canary/Podfile:37:in `block (3 levels) in from_ruby'
/Users/waseefakhtar/Documents/iOS /Swift 3/Canary/Podfile:36:in `each'
/Users/waseefakhtar/Documents/iOS /Swift 3/Canary/Podfile:36:in `block (2 levels) in from_ruby'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-core-1.3.1/lib/cocoapods-core/podfile.rb:179:in `post_install!'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.3.1/lib/cocoapods/installer.rb:619:in `run_podfile_post_install_hook'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.3.1/lib/cocoapods/installer.rb:607:in `block in run_podfile_post_install_hooks'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.3.1/lib/cocoapods/user_interface.rb:142:in `message'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.3.1/lib/cocoapods/installer.rb:606:in `run_podfile_post_install_hooks'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.3.1/lib/cocoapods/installer.rb:185:in `block in generate_pods_project'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.3.1/lib/cocoapods/user_interface.rb:64:in `section'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.3.1/lib/cocoapods/installer.rb:182:in …
Run Code Online (Sandbox Code Playgroud)

xcode ios cocoapods podfile

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

构建失败:程序类型已存在:com.facebook.ads.Ad

我尝试在Android Studio中构建一个模块。它似乎可以在设备上运行,但是当我尝试构建APK时出现错误:

Program type already present: com.facebook.ads.Ad
Run Code Online (Sandbox Code Playgroud)

这是完整的日志:

org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':NewApp:transformClassesWithMultidexlistForDevDebug'.
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:100)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:70)
    at org.gradle.api.internal.tasks.execution.OutputDirectoryCreatingTaskExecuter.execute(OutputDirectoryCreatingTaskExecuter.java:51)
    at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:62)
    at org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54)
    at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:60)
    at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:97)
    at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:87)
    at org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:52)
    at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
    at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:54)
    at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
    at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:34)
    at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker$1.run(DefaultTaskGraphExecuter.java:248)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110)
    at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:241)
    at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:230)
    at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.processTask(DefaultTaskPlanExecutor.java:123)
    at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.access$200(DefaultTaskPlanExecutor.java:79)
    at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:104)
    at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:98)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.execute(DefaultTaskExecutionPlan.java:626)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.executeWithTask(DefaultTaskExecutionPlan.java:581)
    at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.run(DefaultTaskPlanExecutor.java:98)
    at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
    at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
    at java.lang.Thread.run(Thread.java:748) …
Run Code Online (Sandbox Code Playgroud)

java android build.gradle android-gradle-plugin android-multidex

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

如何在包中将数据类作为 Parcelable 传递?

我有一个像这样的密封类:

sealed class SealedClass {

    object Object1 : SealedClass()
    object Object2 : SealedClass()
    object Object3 : SealedClass()

    data class DataClass(val sealedClass: SealedClass, val anotherDataType: AnotherDataType? = null)
}
Run Code Online (Sandbox Code Playgroud)

我想在 Bundle 中传递我的数据类,就像我们通常将值传递给一个新片段一样,如下所示:

@JvmStatic
fun newInstance(dataClass: DataClass): Fragment {
    val fragment = Fragment()

    val args = Bundle(1)
    args.putParcelable("DATA_CLASS", dataClass)
    fragment.arguments = args

    return fragment
}
Run Code Online (Sandbox Code Playgroud)

我不知道该怎么做。到目前为止,我读到的是人们使用@Parcelize注释,这是我试图避免的 Kotlin 的一个实验性功能。另一种方法是通过 Parcelable 扩展数据类并实现 Parcelable 方法,但由于我使用自定义类作为 DataClass 中的参数(例如 SealedClass),我不知道如何在 Parcelable 实现中读取/写入这些值。这不是一个正确的方法吗?

android kotlin data-class sealed-class

5
推荐指数
3
解决办法
5583
查看次数

ViewPager2 异常:java.lang.IllegalStateException:违反了设计假设

我自己无法重现此问题,但我在运行小米 MI 9 的生产中注意到此问题Android 10。以下是我使用的ViewPager2RecyclerView版本:

androidx.recyclerview:recyclerview:1.1.0 
androidx.viewpager2:viewpager2:1.0.0
Run Code Online (Sandbox Code Playgroud)

这是堆栈跟踪:

Fatal Exception: java.lang.IllegalStateException: Design assumption violated.
       at androidx.viewpager2.adapter.FragmentStateAdapter.placeFragmentInViewHolder(FragmentStateAdapter.java:287)
       at androidx.viewpager2.adapter.FragmentStateAdapter.onViewAttachedToWindow(FragmentStateAdapter.java:276)
       at androidx.viewpager2.adapter.FragmentStateAdapter.onViewAttachedToWindow(FragmentStateAdapter.java:67)
       at androidx.recyclerview.widget.RecyclerView.dispatchChildAttached(RecyclerView.java:7556)
       at androidx.recyclerview.widget.RecyclerView$5.addView(RecyclerView.java:860)
       at androidx.recyclerview.widget.ChildHelper.addView(ChildHelper.java:107)
       at androidx.recyclerview.widget.RecyclerView$LayoutManager.addViewInt(RecyclerView.java:8601)
       at androidx.recyclerview.widget.RecyclerView$LayoutManager.addView(RecyclerView.java:8559)
       at androidx.recyclerview.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1643)
       at androidx.recyclerview.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1587)
       at androidx.recyclerview.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:675)
       at androidx.recyclerview.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:4134)
       at androidx.recyclerview.widget.RecyclerView.dispatchLayout(RecyclerView.java:3851)
       at androidx.recyclerview.widget.RecyclerView.onLayout(RecyclerView.java:4404)
       at android.view.View.layout(View.java:21963)
       at android.view.ViewGroup.layout(ViewGroup.java:6317)
       at androidx.viewpager2.widget.ViewPager2.onLayout(ViewPager2.java:527)
       at android.view.View.layout(View.java:21963)
       at android.view.ViewGroup.layout(ViewGroup.java:6317)
       at androidx.constraintlayout.widget.ConstraintLayout.onLayout(ConstraintLayout.java:1915)
       at android.view.View.layout(View.java:21963)
       at android.view.ViewGroup.layout(ViewGroup.java:6317)
       at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
       at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
       at android.view.View.layout(View.java:21963)
       at android.view.ViewGroup.layout(ViewGroup.java:6317)
       at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
       at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
       at android.view.View.layout(View.java:21963)
       at android.view.ViewGroup.layout(ViewGroup.java:6317) …
Run Code Online (Sandbox Code Playgroud)

android android-viewpager android-recyclerview androidx android-viewpager2

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

/ users的侦听器失败:permission_denied

我有使用Firebase的注册流程。当我检查数据库中是否已存在电子邮件时,如下所示:

refUsers.queryOrdered(byChild: "email").queryEqual(toValue: emailText).observeSingleEvent(of: .value, with: { snapshot in

      if (snapshot.value is NSNull) {
            print("Unique email")

            // Move to Password View.
            let passwordViewController = self.storyboard?.instantiateViewController(withIdentifier: "PasswordViewController") as! PasswordViewController

            self.navigationController?.present(passwordViewController, animated: true, completion: nil)

            // Pass the emailText to the last View of the flow.
            self.singleton.sharedInstance.emailText = emailText!

      }
      else {
            print("Duplicate email")
      }  
})
Run Code Online (Sandbox Code Playgroud)

问题是,我没有查看数据库中的/ users的权限,原因是我的规则是:

{
  "rules": {
    ".read": "auth != null",
    ".write": "auth != null"
  }
}
Run Code Online (Sandbox Code Playgroud)

我知道我可以找到一封电子邮件是否是重复的,Auth.auth().createUser但不仅仅是我要检查的注册流程中的电子邮件。对于唯一的用户名,我也使用相同的方法。我该如何实现?

ios firebase swift firebase-authentication firebase-realtime-database

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

从 Gradle 中的依赖项中排除项目

我想排除一些未使用的依赖项以减少应用程序的大小。以下是我的模块中的依赖项:

    +--- project :ProjectOne
|    +--- commons-io:commons-io:2.4
|    \--- project :ProjectTwo
|         +--- com.project:PackJPG:1.5
|         +--- com.project:xz:1.2
|         +--- org.ocpsoft.prettytime:prettytime:2.1.2.Final
|         +--- joda-time:joda-time:2.1
|         +--- project :ProjectThree
|         |    +--- project :Utilities
|         |    +--- project :ProcessPriority
|         |    |    +--- com.nativelibs4java:bridj:0.6.2
|         |    |    |    \--- com.google.android.tools:dx:1.7
|         |    |    +--- net.java.dev.jna:jna:4.1.0
|         |    |    +--- net.java.dev.jna:jna-platform:4.1.0
|         |    |    |    \--- net.java.dev.jna:jna:4.1.0
|         |    |    +--- org.tinylog:slf4j-binding:1.2
|         |    |    |    +--- org.tinylog:tinylog:1.2
|         |    |    |    \--- …
Run Code Online (Sandbox Code Playgroud)

dependencies android android-studio android-gradle-plugin

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