首页 \ 问答 \ 为什么这个应用程序被拒绝?(Why Was This App Rejected?)

为什么这个应用程序被拒绝?(Why Was This App Rejected?)

苹果拒绝了这个应用程序,甚至在解析中心提供了一个长时间的解释,但我不确定为什么。 有人可以帮我翻译吗?

2.23

我们发现您的应用不符合iOS数据存储指南,这是每个App Store评论指南所必需的。

特别是,我们发现,在发布和/或内容下载时,您的应用商店下载了媒体(MP3文件)。 要检查您的应用程序存储的数据量:

  • 安装并启动您的应用程序
  • 转到设置> iCloud>存储和备份>管理存储
  • 如有必要,请点击“显示所有应用程序”
  • 检查你的应用程序的存储

iOS数据存储指南指出,只有用户使用您的应用创建的内容(例如文档,新文件,编辑等)可以存储在/ Documents目录中 - 并由iCloud备份。

应用程序使用的临时文件只能存储在/ tmp目录中; 请记得在用户退出应用程序时删除存储在此位置的文件。

可以重新创建数据但必须持续保持应用程序正常运行的数据 - 或者因为客户希望它可供脱机使用 - 应该标记为“不备份”属性。 对于NSURL对象,请添加NSURLIsExcludedFromBackupKey属性以防止备份相应的文件。 对于CFURLRef对象,请使用相应的kCFURLIsExcludedFromBackupKey属性。

有关更多信息,请参阅技术问答1719:如何防止将文件备份到iCloud和iTunes?

有必要修改您的应用以符合iOS数据存储指南的要求。 对于不同的代码级问题,您可能希望咨询Apple开发者技术支持。 请确保:

  • 包括您的拒绝问题的完整细节
  • 准备任何符号化的崩溃日志,屏幕截图和步骤以重现DTS工程师跟进时的问题。

有关如何符号化和读取崩溃日志的信息,请参阅技术说明TN2151了解和分析iPhone OS应用程序崩溃报告。

如果您在重现此问题时遇到困难,请尝试按照https://developer.apple.com/library/ios/qa/qa1764/使用Xcode的存档功能测试工作流程中所述测试工作流程。


Apple rejected this app, and even provided a long explanation in the Resolution Center, but I am not certain why. Could someone help me translate?

2.23

We found that your app does not follow the iOS Data Storage Guidelines, which is required per the App Store Review Guidelines.

In particular, we found that on launch and/or content download, your app stores downloaded media (MP3 files). To check how much data your app is storing:

  • Install and launch your app
  • Go to Settings > iCloud > Storage & Backup > Manage Storage
  • If necessary, tap "Show all apps"
  • Check your app's storage

The iOS Data Storage Guidelines indicate that only content that the user creates using your app, e.g., documents, new files, edits, etc., may be stored in the /Documents directory - and backed up by iCloud.

Temporary files used by your app should only be stored in the /tmp directory; please remember to delete the files stored in this location when the user exits the app.

Data that can be recreated but must persist for proper functioning of your app - or because customers expect it to be available for offline use - should be marked with the "do not back up" attribute. For NSURL objects, add the NSURLIsExcludedFromBackupKey attribute to prevent the corresponding file from being backed up. For CFURLRef objects, use the corresponding kCFURLIsExcludedFromBackupKey attribute.

For more information, please see Technical Q&A 1719: How do I prevent files from being backed up to iCloud and iTunes?.

It is necessary to revise your app to meet the requirements of the iOS Data Storage Guidelines. For discrete code-level questions, you may wish to consult with Apple Developer Technical Support. Please be sure to:

  • include the complete details of your rejection issues
  • prepare any symbolicated crash logs, screenshots, and steps to reproduce the issues for when the DTS engineer follows up.

For information on how to symbolicate and read a crash log, please see Tech Note TN2151 Understanding and Analyzing iPhone OS Application Crash Reports.

If you have difficulty reproducing this issue, please try testing the workflow as described in https://developer.apple.com/library/ios/qa/qa1764/Testing Workflow with Xcode's Archive feature".


原文:https://stackoverflow.com/questions/10759779
更新时间:2024-02-01 19:02

最满意答案

所以你希望用户有3个ID,只要其中一个ID不是D.怎么样;

select user
from table
group by user
having count(*) = 3 and max(ID) <> 'D'

HAVING子句在这种情况下很有用。 只要排除的ID是最大值(或最小的简单更改),此方法就可以工作。

根据您的评论,如果最小/最大(ID)方法不可行,那么您可以使用NOT IN;

select user
from table
where user not in (select user from table where ID = 'D')
group by user
having count(*) = 3

在更新的问题之后,如果我已经正确理解了初始示例和现实之间的映射,那么查询应该是这样的;

SELECT user_id
FROM user_id_type
WHERE user_id not in (select user_id from user_id_type where user_id_type in ('1','2','3','4','5'))
GROUP BY user_id
HAVING COUNT(user_id_type)='16'

奇怪的是,您似乎在表中同时具有同名“user_id_type”的表和列。 这不是最清晰的设计。


So you want users with 3 IDs as long as one of the IDs is not D. How about;

select user
from table
group by user
having count(*) = 3 and max(ID) <> 'D'

The HAVING clause is useful in situations like this. This approach will work as long as the excluded ID is the max (or an easy change for min).

Following your comment, if the min/max(ID) approach isn't viable then you could use NOT IN;

select user
from table
where user not in (select user from table where ID = 'D')
group by user
having count(*) = 3

Following the updated question, if I've understood the mapping between the initial example and reality correctly then the query should be something like this;

SELECT user_id
FROM user_id_type
WHERE user_id not in (select user_id from user_id_type where user_id_type in ('1','2','3','4','5'))
GROUP BY user_id
HAVING COUNT(user_id_type)='16'

What is odd is that you appear to have both a table and a column in the table with the same name 'user_id_type'. This isn't the clearest of designs.

相关问答

更多

相关文章

更多

最新问答

更多
  • 您如何使用git diff文件,并将其应用于同一存储库的副本的本地分支?(How do you take a git diff file, and apply it to a local branch that is a copy of the same repository?)
  • 将长浮点值剪切为2个小数点并复制到字符数组(Cut Long Float Value to 2 decimal points and copy to Character Array)
  • OctoberCMS侧边栏不呈现(OctoberCMS Sidebar not rendering)
  • 页面加载后对象是否有资格进行垃圾回收?(Are objects eligible for garbage collection after the page loads?)
  • codeigniter中的语言不能按预期工作(language in codeigniter doesn' t work as expected)
  • 在计算机拍照在哪里进入
  • 使用cin.get()从c ++中的输入流中丢弃不需要的字符(Using cin.get() to discard unwanted characters from the input stream in c++)
  • No for循环将在for循环中运行。(No for loop will run inside for loop. Testing for primes)
  • 单页应用程序:页面重新加载(Single Page Application: page reload)
  • 在循环中选择具有相似模式的列名称(Selecting Column Name With Similar Pattern in a Loop)
  • System.StackOverflow错误(System.StackOverflow error)
  • KnockoutJS未在嵌套模板上应用beforeRemove和afterAdd(KnockoutJS not applying beforeRemove and afterAdd on nested templates)
  • 散列包括方法和/或嵌套属性(Hash include methods and/or nested attributes)
  • android - 如何避免使用Samsung RFS文件系统延迟/冻结?(android - how to avoid lag/freezes with Samsung RFS filesystem?)
  • TensorFlow:基于索引列表创建新张量(TensorFlow: Create a new tensor based on list of indices)
  • 企业安全培训的各项内容
  • 错误:RPC失败;(error: RPC failed; curl transfer closed with outstanding read data remaining)
  • C#类名中允许哪些字符?(What characters are allowed in C# class name?)
  • NumPy:将int64值存储在np.array中并使用dtype float64并将其转换回整数是否安全?(NumPy: Is it safe to store an int64 value in an np.array with dtype float64 and later convert it back to integer?)
  • 注销后如何隐藏导航portlet?(How to hide navigation portlet after logout?)
  • 将多个行和可变行移动到列(moving multiple and variable rows to columns)
  • 提交表单时忽略基础href,而不使用Javascript(ignore base href when submitting form, without using Javascript)
  • 对setOnInfoWindowClickListener的意图(Intent on setOnInfoWindowClickListener)
  • Angular $资源不会改变方法(Angular $resource doesn't change method)
  • 在Angular 5中不是一个函数(is not a function in Angular 5)
  • 如何配置Composite C1以将.m和桌面作为同一站点提供服务(How to configure Composite C1 to serve .m and desktop as the same site)
  • 不适用:悬停在悬停时:在元素之前[复制](Don't apply :hover when hovering on :before element [duplicate])
  • 常见的python rpc和cli接口(Common python rpc and cli interface)
  • Mysql DB单个字段匹配多个其他字段(Mysql DB single field matching to multiple other fields)
  • 产品页面上的Magento Up出售对齐问题(Magento Up sell alignment issue on the products page)