小编Jan*_*ani的帖子

应用商店提交被拒绝iOS广告标识符

我的应用程序因以下原因被拒绝,但我没有使用广告标识符.使用以下命令

find . | grep -v .svn  | grep "\.a" | grep -v "\.app" | xargs grep advertisingIdentifier
Run Code Online (Sandbox Code Playgroud)

并得到"二进制文件./libGoogleAnalyticsServices.a匹配"的结果.

关于拒绝的更多细节

解放军3.3.12

我们发现您的应用使用了iOS广告标识符,但未包含广告功能.这不符合App Store审查指南要求的iOS开发人员计划许可协议的条款.

具体而言,iOS开发人员计划许可协议的第3.3.12节规定:

"您和您的应用程序(以及与您签订合同以进行广告宣传的任何第三方)可以使用广告标识符,以及通过使用广告标识符获得的任何信息,仅用于提供广告.如果用户重置广告标识符,您同意不会将之前的广告标识符和任何衍生信息与重置的广告标识符直接或间接地结合,关联,链接或以其他方式关联.

请从您的应用中删除iOS广告标识符,或向您的应用添加广告功能.

app-store ios

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

依赖关系未添加到POM文件 - Android Gradle Maven Publishing

我正在使用maven-publish插件将aar文件发布到maven存储库.但是我注意到,即使添加了传递属性,编译依赖项也没有添加到pom.xml中.我正在使用com.android.tools.build:gradle:1.1.3

有关如何解决此问题的任何提示?

的build.gradle

publishing {
    publications {
        sdkAar(MavenPublication) {
            artifacts {
                groupId 'com.test'
                artifactId 'my_sdk'
                version currentVersion
                artifact 'build/outputs/aar/release.aar'
                artifact androidJavadocsJar {
                    classifier "javadoc"
                }
            }
        }
        sdkJar(MavenPublication) {
            groupId 'com.test'
            artifactId 'my_sdk_jar'
            version currentVersion
            artifact 'build/libs/release.jar'
            artifact androidJavadocsJar {
                classifier "javadoc"
            }
        }
    }
    repositories {
        maven {
            credentials {
                username archiva_username
                password archiva_password
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

提前致谢

android gradle android-gradle-plugin

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

活动excludeFromRecents在Android 5.0上无效

我正在尝试完成一项活动而不是最近的活动.以下代码似乎适用于KitKat,但不适用于lolipop,因为活动始终显示在最近.

intentInvite = new Intent( context, OnInviteActivity.class );
intentInvite.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intentInvite.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intentInvite = createInviteIntent( intentCloud, intentInvite );
context.startActivity( intentInvite );
Run Code Online (Sandbox Code Playgroud)

AndroidManifest.xml中

<activity android:name=".OnInviteActivity"
          android:label="@string/app_name"
          android:excludeFromRecents="true"
          android:noHistory="true"
Run Code Online (Sandbox Code Playgroud)

android android-fragments android-activity

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

领域持久性的设计模式

我在应用程序中使用Realm并且我正在尝试尽可能地抽象,以便将来我可以交换数据库提供程序而不需要太多更改.

虽然我关注以下内容,但这种模式运作良好.

  • 每次开销都在创建一个新的领域对象(我目前的理解是Realm Objects在内部缓存)?
  • 我使用Realm的方式有什么问题吗?
  • 我的目的是否有更好的设计模式?

    public struct BookDataLayer: BookDataLayerProvider {
    
    func isBookAvailable(bookIdentifier: String) throws -> Bool {
        let database = try getDatabase()
        return !database.objects(Book).filter("identifier = %@", bookIdentifier).isEmpty
    }
    
    func createOrUpdateBook(bookIdentifier: String, sortIndex: Int) throws {
        let book = Book()
        Book.bookIdentifier = bookIdentifier
        Book.sortIndex = sortIndex
        try create(book, update: true)
    }}
    
    protocol BookDataLayerProvider : DataAccessLayer {
      func isBookAvailable(bookIdentifier: String) throws -> Bool
      func createOrUpdateBook(bookIdentifier: String, sortIndex: Int) throws n} 
    
      extension DataAccessLayer {
    
    func getDatabase() throws -> Realm {
        do { …
    Run Code Online (Sandbox Code Playgroud)

realm ios

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

npm 工作区的单独 package-lock.json

我的 npm 工作区中有两个包api& cdk。我想在&package-lock.json内部创建一个单独的项目,因为这两个项目都将单独部署。目前,npm 工作区可以实现这一点吗?还有哪些其他替代方案或策略?apicdk

\n
\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 api\n\xe2\x94\x82    \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 package.json\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 cdk\n\xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 package.json\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 node_modules\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 package.json\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 package-lock.json \n
Run Code Online (Sandbox Code Playgroud)\n

npm npm-workspaces

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

AppStore提交被拒绝 - 不允许应用程序使用UDID

我正在尝试将应用程序上传到AppStore,但在上传后我发现此错误:

  1. 您的应用包含非公共API使用情况.请检查错误,更正错误,然后重新提交您的应用.

  2. 不允许应用程序使用UDID,也不得使用UIDevice的唯一标识符方法.请更新您应用的服务器,以便与iOS6中引入的供应商或广告标识符相关联.

不应该显示这些错误吗?我找不到任何访问UDID的代码.

uniqueidentifier app-store ios

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

将 Android aar 发布到 artifactory

我坚持将 artifactory 3.0.1 插件与 Gradle 集成。我使用的是 Android Studio 1.0,所以我猜我使用的是 Gradle 2.0。任何使用 3.0.1 插件发布到 artifactory 的示例都会非常有帮助。

提前致谢

android artifactory android-library

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

Proguard保留接口方法变量名称

我试图防止proguard混淆接口方法变量名。我的proguard.pro具有以下配置,但方法变量仍显示为a,b等。

-保持公开课* {public *; }

-keepclassmembers class * {public *; }

-keepattributes异常,内部类,签名-keep参数名称-keep公共接口com.test.listener.MyListener {*; }

android proguard

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

在iOS上没有绑定框架的MVVM

我计划将MVVM用于将要用Swift编写的新iOS应用程序。我知道MVVM可与诸如Reactive Cocoa这样的绑定框架更好地配合,但是由于学习过程及其复杂性,我不鼓励使用绑定框架。使用MVVM但不使用绑定框架是一个坏主意吗?如何应对这种复杂性?

mvvm ios

5
推荐指数
0
解决办法
968
查看次数

购买iOS应用内购买时的折扣

我计划在用户使用该应用程序成功扫描QR码时为In App购买提供折扣.我知道没有办法为现有项目提供折扣.我计划以折扣价格添加另一件商品.任何人都有过像这样的方法的经验吗?

先感谢您

iphone storekit in-app-purchase ios

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

即使在事件发布后,Combine 中的超时运算符也会超时

我在组合中使用超时运算符,我的理解是,仅当发布者不发布事件时才会超时,但即使发布了值,它似乎也会超时。

来自文档

如果指定的时间间隔过去而没有从上游发布者收到任何事件,则发布者终止。

import PlaygroundSupport
import Combine
import Foundation

PlaygroundPage.current.needsIndefiniteExecution = true

let subject = PassthroughSubject<String, Never>()
let cancellable = subject
    .timeout(.seconds(5), scheduler: DispatchQueue.main)
    .sink(
          receiveCompletion: { print ("completion: \($0) at \(Date())") },
          receiveValue: { print ("value: \($0) at \(Date())") }
     )

subject.send("Sending data")

/*
Prints
value: Sending data at 2021-01-06 22:41:12 +0000
completion: finished at 2021-01-06 22:41:17 +0000
*/
Run Code Online (Sandbox Code Playgroud)

难道是我对运营商的理解有误?

ios swift combine

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