小编Val*_*gin的帖子

ITMS-90668 - 无效的Bundle Executable.可执行文件包含不完整的bitcode

昨天我开始从iTunes Connect收到奇怪的错误消息:

ITMS-90668
Invalid Bundle Executable.
The executable file '...' contains incomplete bitcode.
To compile binaries with complete bitcode, open Xcode and choose Archive in the Product menu.
Run Code Online (Sandbox Code Playgroud)

实际上,我为每个嵌入式框架收到许多相同的消息.

我确实使用Bitcode,我没有在我的项目中改变任何与Bitcode相关的东西.这似乎是一个新的ITMS要求(或bug).我不知道如何解决它.

看起来这个问题神秘地与深圳或BuddyBuild等CI工具有关.或者,它可能与依赖项包含预编译代码的情况有关.

以防万一,我的应用程序:

  • 这些依赖项具有预编译代码: BuddyBuildSDK,Firebase,CardIO.
  • 用Swift写的.
  • 有iOS键盘扩展.
  • 使用BuddyBuild.
  • 使用CocoaPods.

更新:

我几乎什么都没改变,然后问题确实在昨天消失了.我完全不知道为什么.我相信Apple只是修复了这个bug或者是侥幸问题.

itunesconnect ios bitcode

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

有没有办法检查"无主"(实际上是"无主(安全)")参考已被删除?

有没有办法检查unowned(safe)Swift引用的"可用性"?所以,我正在寻找一个假设的函数isReferenceAccessible,如下例所示:

func someMethod() {
  someAsyncOperation(parameters) { [unowned(safe) self] in 
    guard isReferenceAccessible(self) else {
      return
    }

    self.someAnotherMethod()
  }
}
Run Code Online (Sandbox Code Playgroud)

免责声明:这个问题与weak参考文献无关!我知道如何strong,unowned以及weak引用的工作.而且我不想使用weak引用(因为它可能很慢,而且可变).我知道unowned(safe)即使已经deinited在我们尝试访问它时,仍然会分配引用.我知道编译器可以执行此检查,并在应用程序崩溃之前实际检查它.

因此,我相信它可以是非常强大且执行良好的技术/范例,可以打破现代Swift中的参考周期.

而且,我相信它可以是一个很棒的语言功能!例如,让我们假设我们已经调用了修饰符shared_ownership,它的工作思路如上所述:

method(parameters) { [shared_ownership self] in
  self.someAnotherMethod()
}
Run Code Online (Sandbox Code Playgroud)

......实现如下:

method(parameters) { [unowned(safe) self] in
  guard isReferenceAccessible(self) else {
    return
  }

  self.someAnotherMethod()
}
Run Code Online (Sandbox Code Playgroud)

......副作用(没有weak相关的复杂性和性能惩罚)相当于:

method(parameters) { [weak self] in
  guard let strongSelf = self else {
    return …
Run Code Online (Sandbox Code Playgroud)

memory-management weak-references unsafe-unretained swift

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

我如何在 Swift 中使用 `syslog`

看起来syslog()函数在 Swift 2 中不可用。

如何syslog在 OS X 上发送消息?

macos syslog swift

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

如何确定是否启用了沙箱

如何检查在 OSX 应用程序运行时是否启用了沙箱?

我需要它来对我的库进行一些断言测试,这些测试可以在不同的环境中运行。

macos appkit entitlements

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

有没有办法在Swift中为`struct`自动定义比较(`==`)函数?

让我们假设我们struct在 Swift 中有一个相当大的:

struct SuperStruct {
    var field1: Int = 0
    var field2: String = ""
    // lots of lines...
    var field512: Float = 0.0
}
Run Code Online (Sandbox Code Playgroud)

.. 然后我们需要实现Equatable协议:

extension SuperStruct: Equatable {
}

func ==(lhs: SuperStruct, rhs: SuperStruct) -> Bool {
    return
        lhs.field1 == rhs.field1 &&
        lhs.field2 == rhs.field2 &&
        // lots of lines...
        lhs.field512 == rhs.field512
}
Run Code Online (Sandbox Code Playgroud)

...我们需要编写大量愚蠢的代码行。有没有办法“要求”编译器为我们“做”它?

swift swift-structs

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