相关疑难解决方法(0)

如何弃用Xcode中的方法

我们将我们的库提供给客户,我想将一些方法标记为"已弃用",因为我们更改了它们(就像Apple在iPhone SDK中所做的那样).

我已经看到了__OSX_AVAILABLE_BUT_DEPRECATED映射到的预处理器宏__AVAILABILITY_INTERNAL,它被映射到__attribute__((deprecated))......

好吧,我对这些东西有点困惑!

有谁知道这件事?

xcode cocoa cocoa-touch objective-c deprecated

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

部署目标是什么意思?

这是我假设的一个非常简单的问题.有人可以告诉我部署目标的含义.如果我选择IOS 10,这是否意味着只有拥有iOS 10的用户才能下载该应用.选择较低的部署目标是不是很糟糕?另外,继续部署目标,不建议在较低的部署目标上运行.

xcode ios ios10

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

将*some*警告视为Swift中的错误?

想象一下,我在Swift中标记了以下方法:

@available(*, deprecated=1.0)
func myFunc() { 
    // ...
}
Run Code Online (Sandbox Code Playgroud)

我通过设置将警告视为Swift中错误OTHER_SWIFT_FLAGS="-warnings-as-errors".

如何将这些弃用通知显示为警告,同时仍将其余警告视为错误?


看起来GCC对这个问题有一个很好的解决方案:

-Werror // treat all warnings as errors
-Wno-error=<warning> // don't treat <warning> as error (e.g. -Wno-error=switch)
-Werror=<warning> // treat <warning> as error
Run Code Online (Sandbox Code Playgroud)

所以如果这是Objective-C,我可以简单地使用-Werror -Wno-error=deprecated-declarations并获得我想要的东西.

什么是Swift的等价物?


我尝试添加-Wno-error=deprecated-declarationsOTHER_SWIFT_FLAGS,但似乎它不适用于Swift,所以它不起作用.

xcode gcc compiler-errors compiler-warnings swift

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

什么是Swift相当于NS_UNAVAILABLE?

在Objective-C中,我们可以将某些方法标记为NS_UNAVAILABLE,这意味着如果尝试调用它们,我们将获得编译器级错误.当子类想要减少它继承的超类的api的范围时,这可能很有用.例如,新的UIView子类可能希望强制它必须通过nib创建,因此可能将initWithFrame标记为不可用.

Swift有@available标记,但有一种简单的方法来标记一个方法是不可用的,类似于Objective-C中的NS_UNAVAILABLE?

objective-c ios swift

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