Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么';t Swift支持iO中的静态库_Swift_Static Libraries - Fatal编程技术网

为什么';t Swift支持iO中的静态库

为什么';t Swift支持iO中的静态库,swift,static-libraries,Swift,Static Libraries,为什么? 我看到了这个解释,但我不明白这个道理 当前运行时不随操作系统提供,因此静态libs将导致最终可执行文件中出现多个运行时。一个静态链接的运行时要想与更新的操作系统或Swift兼容,修补起来会困难得多。运行时间在不断变化。我们需要动态链接它,以便能够处理未来的部署问题。-乔·格罗夫 请解释。您注意到Swift应用程序很大吗?这是因为整个Swift运行时都嵌入在应用程序中。Swift被应用程序中嵌入的库翻译成Objective-C 这一恼人策略的原因是Swift本身仍在不断变化和发展(Sw

为什么?

我看到了这个解释,但我不明白这个道理

当前运行时不随操作系统提供,因此静态libs将导致最终可执行文件中出现多个运行时。一个静态链接的运行时要想与更新的操作系统或Swift兼容,修补起来会困难得多。运行时间在不断变化。我们需要动态链接它,以便能够处理未来的部署问题。-乔·格罗夫


请解释。

您注意到Swift应用程序很大吗?这是因为整个Swift运行时都嵌入在应用程序中。Swift被应用程序中嵌入的库翻译成Objective-C

这一恼人策略的原因是Swift本身仍在不断变化和发展(Swift 2.2现在随时都会成为最终版本,再次彻底改变语言)。因此,Swift不能像Objective-C那样成为系统的一部分;这是一个独立的过程,其速度和方式与系统更新无关

这种情况使得与静态库的链接在技术上极为困难。但动态链接是可能的,因为它是动态的


稍后,可能在Swift 3最终定稿后,该语言最终将被冻结并成为系统的一部分,如Objective-C。然后,静态库将更易于支持,如Objective-C(并且Swift应用程序将变得更小!)。

那么,Swift 3中是否有使用静态库的解决方案,我有一个只有两个的加密库。供应商示例上的一个文件(用objective-c编写)是工作文件,当我尝试使用带有桥接头的库时(显然桥接头配置很好,因为其他objective-c库可以正常工作),它不会抛出错误。任何人得到了关于这个问题的解决方案,然后请张贴一些线索。