相关疑难解决方法(0)

单元测试Xcode中的私有方法

我正在尝试玩具项目中的测试驱动开发.我可以让我的类的公共接口的测试工作(虽然我仍然在围栏,因为我正在编写比测试方法更多的测试代码).

我倾向于使用很多私有方法,因为我喜欢保持公共接口干净; 但是,我还是想对这些方法进行测试.

由于Cocoa是一种动态语言,我仍然可以调用这些私有方法,但是在我的测试中我得到警告,我的班级可能不会对这些方法做出反应(虽然它显然是这样).由于我喜欢在没有警告的情况下进行编译,因此我的问题是:

  1. 如何在Xcode中关闭这些警告?
  2. 我还能做些什么来关闭这些警告吗?
  3. 我在尝试"白盒子"测试时做错了什么?

tdd xcode cocoa objective-c ocunit

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

更改UIDatePicker字体颜色?

我想要做的就是更改UIDatePicker的字体颜色.我研究了其他问题,但他们都涉及改变其他属性和定制整个外观.我想要做的只是将字体颜色从黑色更改为白色.我发现很难相信我不能做这么看似简单的任务.为什么淡色会影响它呢?它甚至做了什么吗?

fonts colors objective-c uidatepicker ios

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

Xcode编译标志以阻止可空性警告不起作用?

在有限的时间内,我想抑制编译器在Xcode 7.3.1中向我展示的这些警告:

<File>: Pointer is missing a nullability type specifier (_Nonnull, _Nullable, or _Null_unspecified)

我已将此编译器标志添加到My Target/Build Phases/Compile Sources下的所有类: -Wnullability-completeness

但它没有用 - 警告仍然显示出来.我怎样才能摆脱警告?

xcode objective-c ios

17
推荐指数
4
解决办法
8548
查看次数

抑制Swift编译器警告

我在Swift(Xcode 6.3 beta)中使用Nimble断言框架进行单元测试.它运行正常,但编译器会对Nimble源代码中的一行提示警告:

public func expect<T>(expression: () -> T?, file: String = __FILE__, line: UInt = __LINE__) -> Expectation<T> {
    return Expectation(
        expression: Expression(
            expression: expression,
            location: SourceLocation(file: file, line: line),
            isClosure: true))
}
Run Code Online (Sandbox Code Playgroud)

警告是针对第一行:

具有默认参数的参数之前的Closure参数不会被视为尾随闭包

这不是一个非常严重的问题,但我想在我的项目中保持编译器警告的数量很少(零).有没有办法删除此警告?

closures compiler-warnings suppress-warnings ios swift

13
推荐指数
1
解决办法
5360
查看次数

如何在XCode 4中设置特定于文件的构建设置?

在xcode 3中,可以配置用于构建项目的每个单个文件的特定选项,例如禁用特定警告,拇指代码生成等.
在xcode 4中,这种功能不可用,或者至少不是以直观的方式.但是,从xcode 3.x导入的项目中,至少作为向后兼容性功能支持此功能.

有没有人知道一种方法来指定这些设置,而无需在旧的xcode中打开项目或为每个文件创建项目?

settings xcode4

11
推荐指数
1
解决办法
3324
查看次数

如何临时禁用目标c源文件中的警告?

我工作的一个项目有一个不强制执行警告的构建系统.

但我有一些代码需要警告才能工作.这是一个例子

NSString* title = @"";
if ([view respondsToSelector:@selector(title)]) {
  title = [view title];
}
Run Code Online (Sandbox Code Playgroud)

在一些谷歌搜索之后,我尝试通过包装该代码区来禁用代码块的警告

#pragma warning disable
// my code
#pragma warning restore
Run Code Online (Sandbox Code Playgroud)

没工作:(

有人知道如何在Xcode中执行此操作吗?

任何帮助表示赞赏.

-简历

xcode gcc warnings objective-c

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

抑制警告:来自xx的类别中的元方法xx与来自另一类别的相同方法冲突

如何抑制此编译器警告: Meta method 'prefix' in category from '...soap+prefix.o' conflicts with same method from another category?这里是soap + Prefix.h类:

  @interface Soap (Prefix)

   +(NSString*)prefix;

   @end
Run Code Online (Sandbox Code Playgroud)

和肥皂+前缀.m:

#import "Soap.h"
#import "Soap+Prefix.h"

 @implementation Soap (Prefix)

  +(NSString*)prefix { return @"EInspector"; }

  @end
Run Code Online (Sandbox Code Playgroud)

顺便说一下,这两个文件是用SudZcWeb服务的包装器自动生成的.

ps此警告仅在XCode 4.4中发出

非常感谢你.

iphone xcode ios

5
推荐指数
2
解决办法
3863
查看次数

如何在XCode中屏蔽不需要的"死店"警告?

如何在XCode中屏蔽不需要的"死店"警告?这就是我有这个代码,我不认为这是一个问题,所以如果是这种情况我不想继续看到警告......(欢迎提供反馈)

代码在这里:

// Position and Size Labels in Cell
CGFloat currVertPos = 0; // Maintain lowest position, i.e. starting vertical point for next cell

// Set Position & Get back next veritical position to use
currVertPos = [self resizeLabel:_mainLabel atVertPos:currVertPos];
    currVertPos = [self resizeLabel:_mainLabel2 atVertPos:currVertPos];
    currVertPos = [self resizeLabel:_mainLabel3 atVertPos:currVertPos];
currVertPos = [self resizeLabel:self.secondLabel atVertPos:currVertPos];  // WARNING OCCURS HERE 
Run Code Online (Sandbox Code Playgroud)

警告详细信息=永远不会读取存储在"currVertPos"处的值.

所以对于最后一行来说,确实不需要"currVertPos",但这真的很重要,如果不是,我怎么能使警告静音?

iphone xcode ios xcode4

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

过滤Xcode中的警告类型

在我的project代码中Xcode,我的代码总是有很多warning,我认为有些是重要的,有些对我来说不是那么重要code

比如类型是:xxx is deprecaetd in iOS 8.0 - Use xxx

另一种类型是:Undeclared selector 'respondsToTapLike'

或其他更多。

有很多类型警告:

项目中的多种类型

现在,我如何过滤warning typein Buildtime

eg: 我只是想展示 的类型Method possibly missing a [super awakeFromNib] call

如果可以过滤类型,怎么办?

xcode warnings ios

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