将应用程序包上传到App Store后,将显示一个对话框,其中包含以下警告:
WARNING ITMS-90686: "The binary you uploaded was invalid."
Run Code Online (Sandbox Code Playgroud)
该应用程序确实被应用商店接受,它可以通过TestFlight安装,没有任何问题.
对应用程序进行的唯一更改是将Build Active Architectures设置为从YES到NO(对于Release).最初,CocoaPod仍然存在将该设置设置为YES的问题,但尽管已经确定仍然会返回警告.Xcode的构建问题视图中没有警告.
我使用HSSFWorkbook生成了一个Excel电子表格,然后实现了一个自定义的javax.activation.DataSource来将电子表格附加到电子邮件中.但是,在Excel中打开电子表格后,它会崩溃.Excel可以恢复一些数据,但它会丢失大部分格式.
采用以下简单示例:
interface IVehicle {
}
class Car : IVehicle {
}
Run Code Online (Sandbox Code Playgroud)
现在我应该能够做到以下几点:
IVehicle vehicle = new Car();
Run Code Online (Sandbox Code Playgroud)
事实上,如果我如上所述创建这些基类,我不会收到任何编译错误(代码运行.)
但是在我的项目中,无论我在做什么,基本上都是这样的(据我所知),我得到以下错误:
Cannot implicitly convert type 'Namespace.Path.Car' to 'IVehicle'. An explicit conversion exists (are you missing a cast?)
Run Code Online (Sandbox Code Playgroud)
有时(如在不同的代码位置,不是不同的编译),显式转换有效,有时它会编译,但会创建运行时异常(无效转换).为什么基本示例没有问题,而更详细的类(但仍然是直接实现接口的单个类)具有所有这些问题?
在某些情况下,它实际上会出现这个编译时错误:
Cannot implicitly convert type 'Namespace.Path.IVehicle' to 'IVehicle'. An explicit conversion exists (are you missing a cast?)
Run Code Online (Sandbox Code Playgroud)
我想我错过了这个隐式转换工作所需的一些重要条件,但是我没有发现什么区别导致简单的例子工作,更详细的类失败如此奇怪.我唯一注意到的是编译时错误只包括第一种类型的命名空间(如上面两个错误所示),但我不记得这是否正常.
为了消除任何环境原因,我使用以下代码创建了一个测试用例:
ISimpleInterface simple = new SimpleImplementation();
IComplexInterface complex = new ComplexImplementation();
Run Code Online (Sandbox Code Playgroud)
上面导致第二行的编译时错误(表明它不能进行隐式转换).