NSURLIsExcludedFromBackupKey 在 iOS 5.1 之前崩溃

2023-12-23

和许多 iOS 开发者一样,我在使用 5.1 之前的系统时也遇到过应用程序崩溃的问题NSURLIsExcludedFromBackupKey.

很好地描述了如何评估该线程上该键的存在:

在 iOS 5.0 上使用 NSURLIsExcludedFromBackupKey 不会崩溃 https://stackoverflow.com/questions/9620651/use-nsurlisexcludedfrombackupkey-without-crashing-on-ios-5-0

One of 萨姆弗梅特的 https://stackoverflow.com/a/9629347/334266评论说iOS模拟器有一个bug。

尽管如此,我也遇到了同样的问题Release构建,即使是在 2 个独立的应用程序中。 经过一番调查后,我发现应用程序甚至在调用 main() 方法之前就崩溃了。这暗示我这与

NSString * const NSURLIsExcludedFromBackupKey;

应用程序启动时进行评估。

我不是这个领域的专家,但我发现,如果有任何参考const值出现在代码中(即使它实际上没有在运行时访问)const在应用程序启动时进行评估。这只会导致我们许多人经历的崩溃。

我想请你帮忙。也许您知道如何“弱”引用 const 值,或者可能有特定的编译器标志。 (使用苹果 LLVM 3.1)。

提前致谢。

请不要注释直接放置此 const 的值,在本例中为 @"NSURLIsExcludedFromBackupKey"。我知道这个解决方法,这个故事的目的是找到一个通用的解决方案。


您可以在 5.0.1 以下的系统上使用此代码

#include <sys/xattr.h>

- (BOOL)addSkipBackupAttributeToItemAtURL:(NSURL *)URL
{
    const char* filePath = [[URL path] fileSystemRepresentation];

    const char* attrName = "com.apple.MobileBackup";
    u_int8_t attrValue = 1;

    int result = setxattr(filePath, attrName, &attrValue, sizeof(attrValue), 0, 0);
    return result == 0;
}

阅读更多here http://developer.apple.com/library/ios/#qa/qa1719/_index.html.

edit

如果您只是询问如何检查外部常量的可用性,您可以将其地址与 NULL 或 nil 进行比较。这是推荐方式 http://developer.apple.com/library/ios/documentation/DeveloperTools/Conceptual/cross_development/cross_development.pdf这样做。

if (&NSURLIsExcludedFromBackupKey) {
    // The const is available
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

NSURLIsExcludedFromBackupKey 在 iOS 5.1 之前崩溃 的相关文章

  • iOS 新手。预期的表达错误?

    这看起来很不寻常 因为该方法与我的 showAnswer 方法完全相同 所以我想我应该在这里问 import QuizViewController h interface QuizViewController end implementat
  • 如果您查看内部,nib 文件到底是什么样子的?

    我刚刚学习 nibs 和 swift 并对某些东西感到好奇 我知道 如果您有一个 main storyboard 文件 则首先加载根视图控制器的笔尖 然后加载该视图控制器下可能分层存在的任何视图 但是 我想知道一些事情 当他们说笔尖已 加载
  • 从 xib 中提取 UI 项目?

    经过一番浏览文档后 我决定使用以下技术 使用 viewWithTag 从 loadNibNamed owner options 返回的主根视图中提取子视图 首先 我有点困惑 因为我假设 loadNibNamed owner options
  • 快速找到一个数字的下一个倍数的方法

    我需要找到从基数开始的数字的第一个倍数 例如 7 中 3 的第一个倍数是 9 我的第一次尝试是这样做 multiple baseNumber while multiple number 0 multiple 最后 multiple 将具有第
  • 我如何知道 UITableView 何时完成 ReloadData?

    我试图在执行完成后滚动到 UITableView 的底部 self tableView reloadData 我原本有 self tableView reloadData NSIndexPath indexPath NSIndexPath
  • 让约束在尺寸类别中发挥作用

    所以 我正在 Xcode 6 beta 中尝试尺寸类 我对图像设置了一些限制 使其根据 iPhone 纵向和横向对应的尺寸类别处于不同的位置 这些限制在下图中可见 正如您所看到的 当我处于紧凑 紧凑状态时 一些约束被 安装 而其他约束则没有
  • 使用捏合手势;如何放大用户手指实际“捏”的位置?

    我已经在我的应用程序中的 UIImageView 上实现了 UIPinchGestureRecognizer 但是无论我在图像的哪个位置捏合 它似乎都会放大到同一个位置 有谁知道我如何让它放大到用户实际 捏 的地方 请参阅下面的代码 视图控
  • Swift NotificationCenter 删除观察者最快的方法

    我正在添加一些观察员viewController applicationWillResignActive applicationDidEnterBackground 以及许多其他人 我想删除self作为一行中所有已注册通知的观察者 我的问题
  • 无限 UIScrollView 在 iOS4.3 中出现奇怪的行为,而不是 iOS5

    我已经实现了一个包含 UIView 的无限 UIScrollView 在 iOS5 模拟器和 iPhone 中滚动时 效果非常好 但在 iOS 4 3 sim 和手机 中 情况有点疯狂 滚动条传递的视图比应有的多 大约比 iOS5 多 10
  • iOS 复合谓词

    我正在编写一个具有照片数据库的应用程序 每张照片都有多个与之关联的标签 并且该应用程序有一个带有大量切换的搜索页面 允许用户仅根据他们感兴趣的标签搜索照片 每个标签都存储了integerID 是因为它们对应于外部数据库的 ID 所以我尝试简
  • 在 iPhone 和 Cocos2d 中从类类型(+)方法访问对象?

    我有一个类方法 在其中创建并返回类对象 但我想访问同一类中该对象的某些属性 作为一个类方法 我无法在 h 文件中声明该变量 然后在其他方法中访问它 以下是代码 我如何在下面的实例方法中访问 backsprite 或 hudlayer 对象的
  • 使用 iOS 设备作为 TCP 客户端 - 无 Bonjour

    我想使用 iOS 设备作为 TCP 客户端 但我找不到可理解的 API 指南 示例来说明如何做到这一点 我试过SimpleNetworkStreams and PictureSharing 但他们都使用 Bonjour 我可以轻松建立 UD
  • 处理核心数据中的重复条目

    我有一个允许用户保存收藏夹的应用程序 我正在使用 Core Data 将收藏夹存储为托管对象 我已经编写了一些代码来防止存储重复项的可能性 但我想知道是否有更好的方法来做到这一点 每个收藏夹对象都有一个唯一的 ID 字段 在下面的代码中 我
  • iPhone PhoneGap 电子邮件编辑器 SECURITY_ERR:DOM 异常 18 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我正在使用phonegap 中的 i
  • Xcode 本地化设置中没有加号或减号按钮

    我需要在两天内翻译 iOS 应用程序 但我的 XCode 版本 4 4 和 4 5 Developer Preview 都没有给我添加其他语言的选项 我只能选择单击 Make localized 但我只能选择英语 选择它后 Xcode 中的
  • UITextInput setMarkedText:selectedRange 不起作用? (不可能!)

    我想以编程方式设置标记的文本 并且由于 iOS5 UITextView 和 UITextField 符合 UITextInput 这应该是可能的 但由于某种原因我总是得到markedText为零 我在这里缺少什么 这是我尝试过但没有成功的方
  • SDWebImage 显示缓存中图像的占位符

    在 iOS 5 1 项目 iPad 中使用 SDWebImage 3 我们展示相当大的图像 700x500 并且我们有很多图像 1000 我们预取图像并缓存到磁盘 然后允许用户浏览它们 效果很好 除了当您浏览图像时 您总是会看到占位符显示一
  • iOS 11 getUserMedia 不起作用?

    苹果公司发表声明称getUserMedia将在 iOS 11 上完全正常运行 安装 iOS 11 Beta 版本 5 后 我确实收到一条消息 表明我的网站请求访问我的相机和麦克风 但似乎是这样的 video src window URL c
  • AVAudioMixerNode pan 或 AVAudioUnitSamplerstereoPan 属性无法更改 AVAudioEngine 声音输出的左/右平衡

    我有以下代码 它播放单个 MIDI 音符 但我希望能够调整平衡 平移 以便它仅从左扬声器或右扬声器或某些组合中播放 我认为更改 sampler stereoPan 或 engine mainMixerNode pan 也许可以解决问题 但它
  • NSURLConnection 是否自动保留从服务器发送的 cookie?

    我从 ios 登录到我的龙卷风后端并发回 secure cookie 我注意到只要验证我设置的 secure cookie 我还可以请求其他信息 NSURLConnection 会保留 cookie 多久 或者关闭应用程序后 cookie

随机推荐

  • Javabean 和 EJB 之间的区别[重复]

    这个问题在这里已经有答案了 只是一个相对 Java 新手的一个简单问题 JavaBean 和 EJB 之间有什么区别 Java bean 只是一组约定 EJB 是 J2EE 业务组件的标准 具体来说是一个 Java bean 有一个公共默认
  • 如何包含特定于页面的 JavaScript?

    在我的 Rails 应用程序中 每个页面都包含以下所有 JavaScriptassets 一些自定义脚本适用于 Ajax 和一些奇特的东西 它们不必要地从每个页面运行 并导致我不必要的过载 例如 会话页面实际上根本不需要任何 JavaScr
  • 单个 for 循环中的多个计数器:Python

    Python 中是否可以像 C C 一样在单个 for 循环中运行多个计数器 我想要类似的东西 for i j in x range 0 len x 我知道 Python 对此有不同的解释以及为什么 但是我如何在一个 for 循环中同时运行
  • Rank 和 unrank 与约束的组合

    我想使用元素距离约束对组合进行排名和取消排名 所选元素不能重复 例如 n 10元素选择 k 5被选择的元素 d 32 个选定元素之间的最大距离 1 3 5 8 9匹配约束条件 1 5 6 7 8与约束不匹配 如何对具有给定距离约束的组合进行
  • org.json.simple.JSONObject VS org.json.JSONObject , JSONException 无法解析为类型

    第一 有人可以解释一下两者之间的差异吗 org json simple JSONObject and org json JSONObject 第二 我有一个代码org json JSONObject and org json JSONExc
  • 堆栈溢出:线程1:EXC_BAD_ACCESS(代码=2,地址=0x16d09aa00)

    崩溃描述 最近 我在我的一个 iOS Swift 项目中遇到了一种非常奇怪的内存问题 我真的不知道发生了什么 也觉得不太容易描述 但无论如何我会尽力的 它的行为基本上如下 在某个代码库上 崩溃总是发生在同一个地方 100 可重现 更改代码库
  • Anaconda:IPython/Jupyter Notebook 中的 Python 3 和 2

    我安装了 Anaconda 的 Python 3 并且希望能够在 python2 和 3 内核之间快速切换 这是在 OSX 上 到目前为止我的步骤包括 conda create p anaconda envs python2 python
  • Python re.sub() 行首锚定

    考虑以下多行字符串 gt gt print s shall i compare thee to a summer s day thou art more lovely and more temperate rough winds do sh
  • 我们如何检查一个数组是否包含#中另一个数组的一个或多个元素?

    我有一个字符串数组 例如 string names P A B G F K R 我有另一个数组 string subnames P G O 我们如何检查名称数组是否包含子名称数组的任何元素 在上面的示例中 名称中存在 P 和 G 这是一个
  • Bash:检查是否按下了 Enter

    How can I check in Bash if the Enter key has been pressed I m using the read command read p Please press ENTER var 首先检查退
  • 使用 argparse 解析字符串

    所以我希望argparse的输入是一个字符串而不是命令行 例如 python3 some script py arg1 arg2 arg3 我想给 argparse 字符串 arg1 arg2 arg3 import argparse co
  • 从浏览器历史记录中删除当前页面

    我正在我的网站上构建一个文本编辑器 工作流程如下 In list 用户从列表中选择他们想要编辑的条目 该列表会将他们带到 edit article id 用户完成工作 然后单击 提交 服务器处理该事物 并将它们重定向回 edit artic
  • Nuxt 为所有动态路由生成带有后备文件的静态站点

    我已经在整个互联网上搜索了我的问题的答案 到目前为止还没有运气 我想要实现的目标 我有一个在通用模式下运行的 Nuxt 应用程序 它就像一个小型社交网络 用户可以在其中创建自己的个人资料并分享他们的工作 因此 我正在使用动态路由 users
  • 我如何清理 mysql 上的临时表

    我们在程序中创建临时表 并且我们不使用 mysql 的持久连接 mysql重启后 有很多临时表慢慢增加 然后innodb buffer pool size正在整理 应用程序正在该服务器上运行 CPU E3 1245 v5 3 50GHz 8
  • 如何远程检查 RedisCloud 数据库中的数据?

    我使用 Heroku 托管一个简单的 Ruby on Rails 测试应用程序来学习如何使用 Redis 我使用 RedisCloud 作为我的 Redis 服务提供商 在本地 我可以使用 Redis CLI 检查我的 Redis 数据库
  • 如何为 Webstorm 编写自己的插件?

    我想为 WebStorm 编写一个专门的插件 可以为自定义框架提供帮助 有关于如何做到这一点的教程吗 没有可用的 WebStorm 特定指南 插件的创建方式与 IntelliJ IDEA 完全相同 http confluence jetbr
  • 使用数据绑定具有多个视图类型的 Android recyclerview 适配器

    是否可以在我的适配器中创建多个视图类型 例如为我的标题添加视图 然后标题下方是一个列表 我的适配器的代码片段 public class StoreAdapter extends RecyclerView Adapter
  • Mysql:显示另一列下方的列的值

    我真的陷入了这个困境 我通过准备一条可执行语句尝试了联合 我非常清楚 SQL 不是一种用于此类任务的语言 但到目前为止 目标是创建一个原型 实际的技术实施将在稍后发生 我会解释我的要求 有一个临时表 我在其中存储名称 项目以及与该项目相关的
  • arch linux 上的 asp.net core 2.1 无法运行

    我已经在 Arch Linux 上使用 pacman 安装了最新版本的 net core sudo pacman S dotnet sdk Running dotnet info显示正确的版本 Host useful for support
  • NSURLIsExcludedFromBackupKey 在 iOS 5.1 之前崩溃

    和许多 iOS 开发者一样 我在使用 5 1 之前的系统时也遇到过应用程序崩溃的问题NSURLIsExcludedFromBackupKey 很好地描述了如何评估该线程上该键的存在 在 iOS 5 0 上使用 NSURLIsExcluded