Error[8]: Undefined offset: 43, File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 121
File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 473, decode(

概述作者:Joe,原文链接,原文日期:2016-02-16 译者:Cee;校对:numbbbbb;定稿:小锅 如果你在寻找 Swift 2.2 的 Ubuntu 包,可以参考我们的这篇指南。 Swift 3.0 Swift 2.2 已经从 master 分支移到了 swift-2.2 分支。现在,Swift 3.0 版本在仓库的 master 分支上开发。克隆编译完整的 Swift 3.0 源代码的方

作者:Joe,原文链接,原文日期:2016-02-16
译者:Cee;校对:numbbbbb;定稿:小锅

如果你在寻找 Swift 2.2 的 Ubuntu 包,可以参考我们的这篇指南。

Swift 3.0

Swift 2.2 已经从 master 分支移到了 swift-2.2 分支。现在,Swift 3.0 版本在仓库的 master 分支上开发。克隆编译完整的 Swift 3.0 源代码的方法已经和之前截然不同了。比起之前需要克隆逐个仓库,现在你只需要:

bashmkdir swift-buildcd swift-buildgit clone https://github.com/apple/swift.git ./swift/utils/update-checkout --clone

Swift 仓库中的 update-checkout 脚本能够帮你克隆编译 Swift 源代码所需的所有仓库内容,并将其打包成 .tar.gz 压缩文件。

使用 "build and package" 预设不仅可以编译所有必要的目标文件,还能将它们打包成 .tar.gz 压缩文件。使用名为 package.sh 的脚本就能完成上述任务(在 package-swift 库中):

bash#!/bin/bashpushd `dirname lsb_release -rs` > /dev/nullWHERE_I_AM=`pwd`popd > /dev/nullINSTALL_DIR=${WHERE_I_AM}/installPACKAGE=${WHERE_I_AM}/swift.tar.gzLSB_RELEASE=`lsb_release -rs  | tr -d .`rm -rf $INSTALL_DIR $PACKAGE./swift/utils/build-script --preset=buildbot_linux_${LSB_RELEASE} install_destdir=${INSTALL_DIR} installable_package=${PACKAGE}

脚本中最关键的一步就是检测 Ubuntu 的发行版本(buildbot_linux_${LSB_RELEASE},译者注:LSB,linux Standard Base),并且使用 ${PACKAGE} .tar.gz 预设来编译并把所有内容打包到 .tar.gz 文件中。

apt-get

从 Apple 库中下载一个 apt-get 是个不错的选择,但是更好的解决方案是在 Ubuntu 发行版中直接使用 swift-3.0 指令。为了让编译 Swift 在 linux 中更加容易上手,我们为你准备了包含最新的 Swift 包的 Ubuntu 仓库。

目前我们同时提供 swift-2.2 两个版本,但是它们并swift兼容。举个例子,两个 /usr/bin 版本都会安装到

bashwget -qO- http://dev.iachIEved.it/iachIEvedit.gpg.key | sudo apt-key add -
下。我们计划把这两个包安装到不同的地方,不过可能要到 2016 年中我们才有时间来处理这个问题。

尽管这种方法有些约束和限制,不过没关系,下面我们看看如何安装 Swift 3.0!

1. 添加 Repository key

sources.List

2. 将特定的仓库添加到

bashecho "deb http://iachIEvedit-repos.s3.amazonaws.com/ trusty main" | sudo tee --append /etc/apt/sources.List

Ubuntu 14.04

bashecho "deb http://iachIEvedit-repos.s3.amazonaws.com/ wily main" | sudo tee --append /etc/apt/sources.List

Ubuntu 15.10

apt-get update

3. 运行

bashsudo apt-get update

bashapt-get install swift-3.0

4. 安装 swift-3.0 吧!

bashgit clone https://github.com/apple/example-package-dealercd example-packager-dealerswift buildCompiling Swift Module 'FisherYates' (1 sources)linking library:  .build/deBUG/FisherYates.aCompiling Swift Module 'PlayingCard' (3 sources)linking library:  .build/deBUG/PlayingCard.aCompiling Swift Module 'DeckOfPlayingCards' (1 sources)linking library:  .build/deBUG/DeckOfPlayingCards.aCompiling Swift Module 'Dealer' (1 sources)linking Executable:  .build/deBUG/Dealer

5. 试一试

bash.build/deBUG/Dealer

运行起来!

apt-cache show swift-3.0 FAQ

Q. Apple 官方会编译这些二进制文件吗?
A. 不会,这些都是我在我的个人服务器上编译的,可以参考这篇指南。

Q. 所编译项目的 git 版本如何查看?
A. 你可以使用

bash# apt-cache show swift-3.0Package: swift-3.0Status: install ok installedPriority: optionalSection: developmentInstalled-Size: 281773Maintainer: iachIEvedit (support@iachIEved.it)Architecture: amd64Version: 1:3.0-0ubuntu2Depends: clang (>= 3.6),libicu-devConflicts: swift-2.2Description: Open Source Swift This is a packaged version of Open Source Swift 3.0 built from the following git revisions of the Apple Github repositorIEs:       Clang:  c18bb21a04        LLVM:  0d07a5d3d5       Swift:  8aa4dadf92  Foundation:  dc4fa2d80bDescription-md5: 08508c39657c159d064917af87d8d411Homepage: http://dev.iachIEved.it/iachIEvedit/swift
来查看此信息。例如:

不受影响

每次编译的源代码中的树形关系/usr/

Q. 在上传二进制文件前你有做过测试吗?
A. Swift 编译的时候会对二进制文件进行测试,我在编译自己的应用之前也做了一些基本的测试。不过现在没有复杂的测试用例套件。

Q. 准备定期编译吗?
A. 不,并不准备。虽然我想和 Apple 保持同步,但是最初的想法只是为了做一下实验,让我能够在 linux 上写 Swift 程序。

Q. 内容会安装到哪儿?
A. 都会安装到 clang 下,就和安装 gcc3.0-0ubuntu2~trusty1 一样。

Q. 如何理解包版本号的意义?
A. 我一开始也考虑到了这个问题:我们需要一个合适的包版本号。把 ~wiley1 分解一下,各部分的含义:

3.0 指所打包的 Swift 的版本

-0ubuntu2 表示为 Ubuntu 打包的第二个版本,0 代表这个包在上游的 Debian 源上没有依赖的包

-trusty1 代表这个包是给 Trusty Tahr 准备的(译者注:Trusty Tahr 即 Ubuntu 14.04)

Wiley(译者注:Wiley Werewolf 即 Ubuntu 15.10)上的包版本号并不会包含类似于 swift-3.0 这样的内容,因为从 Trusty 升级到 Wiley 后,它能够正确更新 的包。

support@iachIEved.it这应该没什么问题,不过你发现任何问题可以发邮件到 swift-3.0

原理是什么?

我参考了这个超棒的指南在 Amazon S3 上搭建了一个 Debian 包资源库。我试着搭建一个 Launchpad PPA(译者注:PPA,Personal Package Archives,参考这里),但是老实说,为了将所有元数据放入同一个包内实在是非常艰难。我敢肯定我需要托管所有必要的库的内容,但是这看上去又有些矫枉过正了。不过那些开发 fpm 的家伙们可能有一些解决办法吧。

那些用来打包编译并且上传到资源库的脚步可以在 GitHub 上找到。安装 Swift 3.0 的话请参考 [+++] 分支。

本文由 SwiftGG 翻译组翻译,已经获得作者翻译授权,最新文章请访问 http://swift.gg。

总结

以上是内存溢出为你收集整理的Swift 3.0 介绍全部内容,希望文章能够帮你解决Swift 3.0 介绍所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

)
File: /www/wwwroot/outofmemory.cn/tmp/route_read.php, Line: 126, InsideLink()
File: /www/wwwroot/outofmemory.cn/tmp/index.inc.php, Line: 166, include(/www/wwwroot/outofmemory.cn/tmp/route_read.php)
File: /www/wwwroot/outofmemory.cn/index.php, Line: 30, include(/www/wwwroot/outofmemory.cn/tmp/index.inc.php)
Swift 3.0 介绍_app_内存溢出

Swift 3.0 介绍

Swift 3.0 介绍,第1张

概述作者:Joe,原文链接,原文日期:2016-02-16 译者:Cee;校对:numbbbbb;定稿:小锅 如果你在寻找 Swift 2.2 的 Ubuntu 包,可以参考我们的这篇指南。 Swift 3.0 Swift 2.2 已经从 master 分支移到了 swift-2.2 分支。现在,Swift 3.0 版本在仓库的 master 分支上开发。克隆编译完整的 Swift 3.0 源代码的方

作者:Joe,原文链接,原文日期:2016-02-16
译者:Cee;校对:numbbbbb;定稿:小锅

如果你在寻找 Swift 2.2 的 Ubuntu 包,可以参考我们的这篇指南。

Swift 3.0

Swift 2.2 已经从 master 分支移到了 swift-2.2 分支。现在,Swift 3.0 版本在仓库的 master 分支上开发。克隆编译完整的 Swift 3.0 源代码的方法已经和之前截然不同了。比起之前需要克隆逐个仓库,现在你只需要:

bashmkdir swift-buildcd swift-buildgit clone https://github.com/apple/swift.git ./swift/utils/update-checkout --clone

Swift 仓库中的 update-checkout 脚本能够帮你克隆编译 Swift 源代码所需的所有仓库内容,并将其打包成 .tar.gz 压缩文件。

使用 "build and package" 预设不仅可以编译所有必要的目标文件,还能将它们打包成 .tar.gz 压缩文件。使用名为 package.sh 的脚本就能完成上述任务(在 package-swift 库中):

bash#!/bin/bashpushd `dirname lsb_release -rs` > /dev/nullWHERE_I_AM=`pwd`popd > /dev/nullINSTALL_DIR=${WHERE_I_AM}/installPACKAGE=${WHERE_I_AM}/swift.tar.gzLSB_RELEASE=`lsb_release -rs  | tr -d .`rm -rf $INSTALL_DIR $PACKAGE./swift/utils/build-script --preset=buildbot_linux_${LSB_RELEASE} install_destdir=${INSTALL_DIR} installable_package=${PACKAGE}

脚本中最关键的一步就是检测 Ubuntu 的发行版本(buildbot_linux_${LSB_RELEASE},译者注:LSB,linux Standard Base),并且使用 ${PACKAGE} .tar.gz 预设来编译并把所有内容打包到 .tar.gz 文件中。

apt-get

从 Apple 库中下载一个 apt-get 是个不错的选择,但是更好的解决方案是在 Ubuntu 发行版中直接使用 swift-3.0 指令。为了让编译 Swift 在 linux 中更加容易上手,我们为你准备了包含最新的 Swift 包的 Ubuntu 仓库。

目前我们同时提供 swift-2.2 两个版本,但是它们并swift兼容。举个例子,两个 /usr/bin 版本都会安装到

bashwget -qO- http://dev.iachIEved.it/iachIEvedit.gpg.key | sudo apt-key add -
下。我们计划把这两个包安装到不同的地方,不过可能要到 2016 年中我们才有时间来处理这个问题。

尽管这种方法有些约束和限制,不过没关系,下面我们看看如何安装 Swift 3.0!

1. 添加 Repository key

sources.List

2. 将特定的仓库添加到

bashecho "deb http://iachIEvedit-repos.s3.amazonaws.com/ trusty main" | sudo tee --append /etc/apt/sources.List

Ubuntu 14.04

bashecho "deb http://iachIEvedit-repos.s3.amazonaws.com/ wily main" | sudo tee --append /etc/apt/sources.List

Ubuntu 15.10

apt-get update

3. 运行

bashsudo apt-get update

bashapt-get install swift-3.0

4. 安装 swift-3.0 吧!

bashgit clone https://github.com/apple/example-package-dealercd example-packager-dealerswift buildCompiling Swift Module 'FisherYates' (1 sources)linking library:  .build/deBUG/FisherYates.aCompiling Swift Module 'PlayingCard' (3 sources)linking library:  .build/deBUG/PlayingCard.aCompiling Swift Module 'DeckOfPlayingCards' (1 sources)linking library:  .build/deBUG/DeckOfPlayingCards.aCompiling Swift Module 'Dealer' (1 sources)linking Executable:  .build/deBUG/Dealer

5. 试一试

bash.build/deBUG/Dealer

运行起来!

apt-cache show swift-3.0 FAQ

Q. Apple 官方会编译这些二进制文件吗?
A. 不会,这些都是我在我的个人服务器上编译的,可以参考这篇指南。

Q. 所编译项目的 git 版本如何查看?
A. 你可以使用

bash# apt-cache show swift-3.0Package: swift-3.0Status: install ok installedPriority: optionalSection: developmentInstalled-Size: 281773Maintainer: iachIEvedit (support@iachIEved.it)Architecture: amd64Version: 1:3.0-0ubuntu2Depends: clang (>= 3.6),libicu-devConflicts: swift-2.2Description: Open Source Swift This is a packaged version of Open Source Swift 3.0 built from the following git revisions of the Apple Github repositorIEs:       Clang:  c18bb21a04        LLVM:  0d07a5d3d5       Swift:  8aa4dadf92  Foundation:  dc4fa2d80bDescription-md5: 08508c39657c159d064917af87d8d411Homepage: http://dev.iachIEved.it/iachIEvedit/swift
来查看此信息。例如:

不受影响

每次编译的源代码中的树形关系/usr/

Q. 在上传二进制文件前你有做过测试吗?
A. Swift 编译的时候会对二进制文件进行测试,我在编译自己的应用之前也做了一些基本的测试。不过现在没有复杂的测试用例套件。

Q. 准备定期编译吗?
A. 不,并不准备。虽然我想和 Apple 保持同步,但是最初的想法只是为了做一下实验,让我能够在 linux 上写 Swift 程序。

Q. 内容会安装到哪儿?
A. 都会安装到 clang 下,就和安装 gcc3.0-0ubuntu2~trusty1 一样。

Q. 如何理解包版本号的意义?
A. 我一开始也考虑到了这个问题:我们需要一个合适的包版本号。把 ~wiley1 分解一下,各部分的含义:

3.0 指所打包的 Swift 的版本

-0ubuntu2 表示为 Ubuntu 打包的第二个版本,0 代表这个包在上游的 Debian 源上没有依赖的包

-trusty1 代表这个包是给 Trusty Tahr 准备的(译者注:Trusty Tahr 即 Ubuntu 14.04)

Wiley(译者注:Wiley Werewolf 即 Ubuntu 15.10)上的包版本号并不会包含类似于 swift-3.0 这样的内容,因为从 Trusty 升级到 Wiley 后,它能够正确更新 的包。

support@iachIEved.it这应该没什么问题,不过你发现任何问题可以发邮件到 swift-3.0

原理是什么?

我参考了这个超棒的指南在 Amazon S3 上搭建了一个 Debian 包资源库。我试着搭建一个 Launchpad PPA(译者注:PPA,Personal Package Archives,参考这里),但是老实说,为了将所有元数据放入同一个包内实在是非常艰难。我敢肯定我需要托管所有必要的库的内容,但是这看上去又有些矫枉过正了。不过那些开发 fpm 的家伙们可能有一些解决办法吧。

那些用来打包编译并且上传到资源库的脚步可以在 GitHub 上找到。安装 Swift 3.0 的话请参考 分支。

本文由 SwiftGG 翻译组翻译,已经获得作者翻译授权,最新文章请访问 http://swift.gg。

总结

以上是内存溢出为你收集整理的Swift 3.0 介绍全部内容,希望文章能够帮你解决Swift 3.0 介绍所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1090798.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存