小编ben*_*ado的帖子

如何禁用Mobile Safari中的电话号码链接?

iPhone上的Safari会自动为电话号码中显示的数字字符串创建链接.我正在写一个包含IP地址的网页,Safari正在将其转换为电话号码链接.是否可以为整个页面或页面上的元素禁用此行为?

iphone safari mobile-safari

352
推荐指数
11
解决办法
25万
查看次数

iPhone模拟器在哪里存储数据?

我有一个用于存储应用程序数据的SQLite数据库,我可以查看它来调试我遇到的问题 - 但iPhone模拟器通常在哪里存储数据?

iphone ios-simulator

224
推荐指数
14
解决办法
15万
查看次数

为什么单元测试中的代码不能找到捆绑资源?

我单元测试的一些代码需要加载资源文件.它包含以下行:

NSString *path = [[NSBundle mainBundle] pathForResource:@"foo" ofType:@"txt"];
Run Code Online (Sandbox Code Playgroud)

在应用程序中它运行得很好,但是当单元测试框架运行时pathForResource:返回nil,意味着它找不到foo.txt.

我已经确定它foo.txt包含在单元测试目标的Copy Bundle Resources构建阶段中,为什么它找不到该文件呢?

xcode cocoa unit-testing nsbundle octest

173
推荐指数
4
解决办法
4万
查看次数

在transitionWithView中更改rootViewController时泄漏视图

在调查内存泄漏时,我发现了一个与setRootViewController:在转换动画块中调用技术相关的问题:

[UIView transitionWithView:self.window
                  duration:0.5
                   options:UIViewAnimationOptionTransitionFlipFromLeft
                animations:^{ self.window.rootViewController = newController; }
                completion:nil];
Run Code Online (Sandbox Code Playgroud)

如果旧视图控制器(正在替换的视图控制器)当前正在呈现另一个视图控制器,则上述代码不会从视图层次结构中删除呈现的视图.

也就是说,这一系列操作......

  1. X成为Root View Controller
  2. X显示Y,因此Y的视图在屏幕上
  3. 使用transitionWithView:使Z中的新根视图控制器

...对用户看起来没问题,但Debug View Hierarchy工具将显示Y的视图仍然在Z的视图后面,在a UITransitionView.也就是说,在上面的三个步骤之后,视图层次结构是:

  • 的UIWindow
    • UITransitionView
      • UIView(Y的看法)
    • UIView(Z的观点)

我怀疑这是一个问题,因为在转换时,X的视图实际上不是视图层次结构的一部分.

如果我dismissViewControllerAnimated:NO之前发送到X transitionWithView:,则生成的视图层次结构为:

  • 的UIWindow
    • UIView(X的观点)
    • UIView(Z的观点)

如果我向dismissViewControllerAnimated:X 发送(是或否),然后在completion:块中执行转换,则视图层次结构正确.不幸的是,这会干扰动画.如果动画解雇,那就浪费时间; 如果没有动画,它看起来很破碎.

我正在尝试其他一些方法(例如,创建一个新的容器视图控制器类作为我的根视图控制器),但没有找到任何有效的方法.我会去的时候更新这个问题.

最终目标是直接从呈现视图转换到新的根视图控制器,而不会留下杂散视图层次结构.

cocoa-touch core-animation uiviewcontroller ios

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

在iPhone上管理HTTP Cookie

我想移植一个使用机械化的iPhone应用程序.此应用需要登录网页并使用网站cookie转到该网站上的其他网页以获取一些数据.

使用我的python应用程序,我使用mechanize进行自动cookie管理.对于可移植到iPhone的Objective C有类似的东西吗?

谢谢你的帮助.

iphone cookies objective-c www-mechanize

34
推荐指数
2
解决办法
6万
查看次数

克隆rails中的记录,是否可以克隆关联和深层复制?

我是.在铁路上抓住一条记录......

  new_blerg = Blerg.find(1).clone
Run Code Online (Sandbox Code Playgroud)

此记录具有负载和负载的关联,并且这些关联甚至具有关联.

有没有办法深度复制记录并克隆它,以便克隆所有这些关联?

activerecord clone ruby-on-rails duplicates deep-copy

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

我们如何清除NSMutableData中的内容

如何在不使用release的情况下清除NSMutableData,然后再次重新分配/ init再次使用?我看着resetBytesInRange设置为零,但我不确定这一点.有人可以帮忙吗?

iphone objective-c nsdata

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

如何使用与Finder的"压缩"菜单项相同的格式创建zip文件?

在Mac OS X上,您可以通过选择一些文件并从上下文菜单或"文件"菜单中选择"压缩",从Finder创建zip存档.不幸的是,生成的文件与zip命令创建的存档(使用默认选项)不同.

这种区别对Apple运营的至少一项服务很重要,该服务无法接受使用该zip命令创建的档案.必须手动创建存档会阻止我完全自动化我的发布构建过程.

如何在shell脚本中以正确的格式创建zip存档?

编辑:既然早就写了这个问题,我已经想通了,关键的区别ditto,并zip为他们如何处理符号链接:因为一个应用程序包内的代码签名包含一个符号,它需要被保存为一个链接,而不是存储作为常规文件.ditto默认情况下这样做,但zip不是(选项-y是必需的).

macos shell zip automation

25
推荐指数
3
解决办法
8010
查看次数

如何在iPhone上显示进度指示器叠加/ HUD?

我想在一个浮动在表视图上的半透明框中显示进度指示器.换句话说,当正在下载表格内容时,我希望在其上方显示"正在更新"标签.

我在商店的几个应用程序中看到了这一点,特别是Facebook(当你动摇重装时)和Darkslide.

我的第一个冲动是创建一个半透明的UIView,在其中放置一个UILabel和一个UIProgressIndicatorView,并将其添加到视图层次结构......但在哪里? UIView可能不会与其兄弟姐妹重叠,因此我无法将其作为窗口的子视图. 我也不能把它作为表的子视图,因为它会随表格内容向上和向下滚动.

我考虑过创建一个新的UIWindow,但文档基本上说没有.

我知道CALayers可以相互重叠,所以这是一个选项,但我不能在CALayer中放一个进度指示器,我可以吗?我应该滚动自己的进度指示器来动画CALayer而不是UIView吗?

我对听说私有API不感兴趣.

编辑:问题是基于一个错误的假设.NSViews(在Mac OS X上)可能不会重叠,但iPhone上的UIViews可能会重叠.

iphone cocoa-touch core-animation

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

当我的Mac进入睡眠状态时,我的应用会发生什么?

当Mac OS X进入休眠状态时,由于关闭笔记本电脑或从Apple菜单中选择"睡眠",它如何暂停正在执行的进程?

我认为非窗口进程只是在任意执行点暂停.对于Cocoa应用程序也是如此,或者操作系统是否等到控制权返回到运行循环调度程序,然后在"已知"位置进入睡眠状态?是否有任何现代操作系统可以做到这一点,或者它通常是否足以安全地暂停应用程序,无论它在做什么?

我很好奇,因为在任何时候允许睡眠都意味着,从应用程序的角度来看,系统时钟可能会突然大幅提升.这是编码时我通常不会考虑的可能性.

macos process-management sleep

15
推荐指数
1
解决办法
6618
查看次数