小编Jam*_*ard的帖子

不能使用Kiwi来测试CocoaPods添加的框架

我有一个问题,让测试框架Kiwi与通过CocoaPods添加的框架一起工作.我已经加载了AFNetworking和Lumberjack,两者都导致测试失败.如果我的项目中构建到测试目标中的任何源文件都包含来自CocoaPods的文件,则测试失败.这是我收到的消息:

2012-10-15 13:10:44.386 otest [47294:7e03]无法加载/Users/[username]/Library/Developer/Xcode/DerivedData/Build/Products/Debug-iphonesimulator/KiwiUnitTest.octest中的测试包因为发生了链接错误.dyld可能找不到测试包链接的框架框架或库,可能是因为框架或库在链接时具有不正确的安装路径.

我遵循了CocoaPods和Kiwi的所有说明.

例如,我有一个APIClient类.它包括AFHTTPClient.h.如果我在没有将APIClient.m构建到测试目标中的情况下运行测试,则测试构建并运行正常.如果我确实将源包含在其中它表示一切都成功,但是没有运行测试,并且上面的错误消息在我的日志中.

谢谢,詹姆斯

xcode ios afnetworking cocoapods kiwi

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

自动释放池以及在iOS下调用发布时

我想澄清一些事情.

可以说我有以下代码:

- (void) viewDidAppear:(BOOL)animated {
  [super viewDidAppear:animated];
  for (int i = 0; i < 5000000; i++) {
    NSString *s = [NSString stringWithFormat:@"Hello, %@!", @"World"];
  }
}
Run Code Online (Sandbox Code Playgroud)

这将在此函数调用中创建500万个自动释放的字符串.我希望这可以保留这些对象直到应用程序终止,因为我看到的唯一的@autoreleasepool是在main.m中包装应用程序实例化的那个.但事实并非如此.在这个函数调用结束时,它们似乎都被调用了它们并从内存中删除.

这个文件:

https://developer.apple.com/library/mac/documentation/cocoa/reference/foundation/Classes/NSAutoreleasePool_Class/Reference/Reference.html

"应用程序工具包在事件循环的每个循环开始时在主线程上创建自动释放池,并在最后将其排出,从而释放处理事件时生成的任何自动释放的对象."

这对我来说很有意义,但这是在UIKit下,而不是Application Kit.我的问题是,UIKit/Cocoa Touch在这种情况下做了同样的事情,还是有另一种解释我的对象被释放?

谢谢!

cocoa-touch objective-c nsautoreleasepool ios

10
推荐指数
2
解决办法
7940
查看次数

使用与其呈现的动画不同的动画来消除模态视图控制器

我有一个应用程序,它提供了一个容器视图的视图控制器(用于注册/登录),以及使用水平翻转在彼此之间切换的两个视图.应用程序本身可以在注册前使用.我正在寻找改变故事板处理方式.

因此,在打开应用程序时,会出现一个登录按钮.如果用户点击登录,则使用封面垂直动画显示视图控制器.在该视图的左上角,控制器是一个注册按钮.点击它可以使用水平翻转动画进行模态segue.在Register视图控制器上有Login和Cancel按钮.我希望登录返回登录屏幕,然后取消以返回使用封面垂直动画显示的视图控制器.获得它很好,但使用的动画是水平翻转动画,而不是(联合国)封面垂直动画.

我试过以下代码:

self.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
Run Code Online (Sandbox Code Playgroud)

在解除视图控制器之前,它仍在翻转而不是发现.

谢谢您的帮助!

〜詹姆斯

objective-c ios

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