小编Nic*_*der的帖子

如何在Swift中继承UITableViewController

我想继承UITableViewController,并能够通过调用没有参数的默认初始化程序来实例化它.

class TestViewController: UITableViewController {
    convenience init() {
        self.init(style: UITableViewStyle.Plain)
    }
}
Run Code Online (Sandbox Code Playgroud)

从Xcode 6 Beta 5开始,上面的示例不再有效.

Overriding declaration requires an 'override' keyword
Invalid redeclaration of 'init()'
Run Code Online (Sandbox Code Playgroud)

uitableview ios swift xcode6

40
推荐指数
2
解决办法
2万
查看次数

如何通过命令行对Swift应用程序进行编码?

我试图在运行iOS 7.1的真实手机上运行我的Swift应用程序的企业签名版本.

如果我通过Xcode界面创建企业签名应用程序,该应用程序将完美运行.如果我通过xcodebuild创建企业签名应用程序并在命令行上进行协同设置,则应用程序在打开时崩溃并显示以下日志:

Dyld Error Message:
Library not loaded: @rpath/libswiftCore.dylib
Referenced from: /var/mobile/Applications/96578E7F-7FE6-4603-82F2-8941561225D8/Foo.app/Foo
Reason: no suitable image found.  Did find:
  /private/var/mobile/Applications/96578E7F-7FE6-4603-82F2-8941561225D8/Foo.app/Frameworks/libswiftCore.dylib: code signature invalid for '/private/var/mobile/Applications/96578E7F-7FE6-4603-82F2-8941561225D8/Foo.app/Frameworks/libswiftCore.dylib'
Dyld Version: 324
Run Code Online (Sandbox Code Playgroud)

当我通过命令行创建IPA时,IPA始终包含相同的libswiftCore.dylib

$ md5 cli/Payload/Foo.app/Frameworks/libswiftCore.dylib
MD5 (cli/SwiftSupport/libswiftCore.dylib) = 0fe0370b5585a88a89d230b7501aee31 <- same every time; matches what is provided by Xcode

$ md5 /Applications/Xcode6-Beta5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphoneos/libswiftCore.dylib
MD5 (/Applications/Xcode6-Beta5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphoneos/libswiftCore.dylib) = 0fe0370b5585a88a89d230b7501aee31 <- Same!
Run Code Online (Sandbox Code Playgroud)

当Xcode的UI产生IPA,很显然,它以某种方式签署或修改libswiftCore.dylib

$ md5 ui/Payload/Foo.app/Frameworks/libswiftCore.dylib
MD5 (ui/Payload/Foo.app/Frameworks/libswiftCore.dylib) = df73f604b1370b19721dfa7de298340f <- different every time
Run Code Online (Sandbox Code Playgroud)

我试过在codesign上使用--deep选项没有运气.

在通过命令行构建/代码签名时,如何让libswiftCore.dylib正确签名?

ios swift xcode6

17
推荐指数
2
解决办法
8465
查看次数

Nginx 反向代理子目录重写 sourcegraph

我正在尝试使用反向代理添加 SSL 证书在我的域的子目录上提供自托管的 sourcegraph 服务器。

目标是让http://example.org/source为 sourcegraph 服务器提供服务

我的重写和反向代理如下所示:

  location /source {
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Scheme $scheme;

    rewrite ^/source/?(.*) /$1 break;
    proxy_pass http://localhost:8108;
  }
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是,在调用http://example.org/source 时,我被重定向到http://example.org/sign-in?returnTo=%2F

有没有办法将 sourcegraph 的响应重写到正确的子目录?

另外,我可以在哪里调试重写指令?我想遵循它所做的更改以更好地理解它。

- 编辑:

我知道我的方法使用重写可能是错误的,我现在正在尝试 sub_filter 模块。

我使用 tcpdump 捕获了 sourcegraph 的响应并使用 wireshark 进行了分析,所以我在:

GET /sourcegraph/ HTTP/1.0
Host: 127.0.0.1:8108
Connection: close
Upgrade-Insecure-Requests: 1
DNT: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8 …
Run Code Online (Sandbox Code Playgroud)

reverse-proxy nginx url-rewriting sourcegraph

5
推荐指数
2
解决办法
2万
查看次数