NSHTTPCookieStorage从MacOS 10.10和iOS 8.0开始,有这种新方法.从数量微不足道的谷歌搜索中猜测,没有人注意到它.不是那么令人惊讶,因为它还没有在Apple开发门户网站文档中,只是在标题中.但我仍然希望有人知道如何使用它,因为我没有:)我正在尝试使用它清除所有cookie而不是令人尴尬的cookie jar迭代.所以我用它来称呼它
[NSDate dateWithTimeIntervalSince1970:0]
Run Code Online (Sandbox Code Playgroud)
和BOOM,EXC_BAD_ACCESS在MemoryCookies::visitCookies.Ok UN*X epoch太可能了.所以我试过了
[NSDate dateWithTimeIntervalSinceNow:-86400];
Run Code Online (Sandbox Code Playgroud)
和BOOM再次.所以我继续划分间隔,发现它确实至少需要一个至少与date参数一样旧的cookie .因此,您无论如何都必须迭代cookie以找到最旧的cookie ,然后调用新的闪亮方法.这是非常不切实际的,我甚至敢把它称为一个错误.
思考?
我正在玩XCode7测试版,试图测试闪亮的新" 内容拦截器扩展 ".示例类采用与NSExtensionRequestHandling(已知)共享扩展相同的协议.从共享扩展的本质区别在于该类是一个普通的NSObject,而不是一个*ViewController子类,因为,你知道,一个阻挡延伸不应该被显示任何UI反馈.这至少是我的理解.无论如何,beginRequestWithExtensionContext应该将阻塞声明JSON提供给扩展点的关键方法不会被调用.该扩展程序确实具有TRUEPREDICATE其功能,NSExtensionActivationRule并且Safari确认在新的Safari配置"内容拦截器"中存在我的主机应用程序.但仍然没有雪茄.
有人知道它是否应该在测试的早期就已经开始工作了,还是只是一个新闻稿?
而且,哦,虽然我们在这里,是否有任何关于声明JSON格式的文档,或者只是我的Google-Fu让我失望了?:)
我需要传递一些额外的信息,UIWebView loadRequest:以便它达到我的实现NSURLProtocol.信息不能绑定,NSURLRequest因为信息也必须保留NSURLRequest mainDocumentURL.所以我用它进行了子类化NSURL和构造NSURLRequest.我已经知道NSURLRequest到达NSURLProtocol startLoading的不是我所提供的实例UIWebView loadRequest,所以我也实现NSURL copyWithZone了,天真地期望URL加载系统将使用它.
现在,NSURLProtocol canInitWithRequest不是人们合理预期的,而是至少4次startLoading.前两次,传入NSURLRequest仍然包含我的自定义NSURL实现.然后叫一个不幸的内部代码CFURLCopyAbsoluteURL询问了absoluteURL我的定制NSURL和下canInitWithRequest(以及随后的startLoading)已经得到了全新的NSURLRequest新鲜NSURL的吧.copyWithZone永远不会被调用,我的子类NSURL丢失了.
在我放弃并实现一个低级且易碎的解决方案并将内容直接附加到URL字符串之前,我想问更高级别的向导,他们是否看到了如何捕获NSURLProtocol雷达上的初始闪烁或如何CFURLCopyAbsoluteURL进入的方法携带我的自定义实例.我试图NSURL absoluteURL通过再次返回我的自定义NSURL类的新实例来破解,但它没有帮助.我已经在NSURLProtocol setProperty功能上看到了一些承诺,但现在看起来很无用.URL加载系统快乐地创建所有内容的新实例,并且NSURLRequest到达时NSURLProtocol似乎与UIWebView仅偶然输入的内容相同.
更新:好的我想保持帖子尽可能短,但即使是第一个回复是要求技术背景,所以我们去:我UIWebView在应用程序中有多个s.这些视图可以同时运行请求,绝对可以运行相同URL的请求.这就像桌面浏览器中的标签.但我需要区分哪个UIWebView是NSURLRequest到达的每个特定的起源NSURLProtocol …
这个简单的代码
var iframe = document.createElement('iframe');
document.documentElement.appendChild(iframe);
通过注入UIWebView stringByEvaluatingJavascriptFromString
产生的调用UIWebViewDelegate shouldStartLoadWithRequest与about:blank.有趣的是,这仍然适用mainDocumentURL于注射时存在的文件.对我而言,这意味着我不能随时注入这样的代码 - 重新进入shouldStartLoadWithRequest可以显着地打破很多东西.我可以拒绝所有about:blank的请求(返回NO从shouldStart...从互联网络)和代码段做cluelessly,但它几乎没有一个系统的解决方案.
任何想法为什么UIWebView会有这种混乱和无用的行为?
好的,我正在尝试建立iOS应用程序的自动构建和签名/打包(持续集成,你知道).我们的测试人员(即UDID)不是很稳定,因此我们的配置文件往往会经常更改.为了完全确定我使用最新的配置文件构建(并避免常见的缓存陷阱),我想清理所有以前的配置文件的构建框,并在每次构建之前从Apple配置门户下载新的配置文件.我似乎无法确定性地完成第一步.我清理了~/Library/MobileDevice/Provisioning Profiles/但是XCode仍在从某处获取配置文件.我清理了图书馆中的XCode Organizer以及所有当前连接的设备.请注意,我需要避免这一步,除非有一种已知的方法如何从命令行执行此操作!尽管如此,XCode还是乐于签约.无奈之下,我做了find / -name "*.mobileprovision"并在不少于3个临时位置找到了副本:
~/Library/Developer/XCode/DerivedData/[ProjectName]-[hash]/~/Library/Developer/XCode/Archives/[date]/[Projectname].xcarchive/Products/Applications/[Projectname].app//private/var/folders/k_/[hash]/T/[UUID]/[Projectname].app/删除所有这些之后,XCode中终于承认有任何配置文件(刚上市证书,可以理解的"身份没有配置文件"),并在签名失败.
清洁方面有决定性吗?我或许可以找出两个第一条路径,但第三条路径没有机会,其中有两个随机序列.我错过了什么?如果我只删除旧的配置文件,我可以依赖XCode使用新的配置文件~/Library/MobileDevice/Provisioning Profiles/吗?我想避免每次都关闭一个全新的MacOS VM,只是为了确保:)
为了完整起见,我们在XCode 4.3和4.5之间使用任何东西,如果有所不同,可以在最新的4.6上同步.但我对此表示怀疑.
免责声明:我是一个半Rx新手,所以很有可能这个想法完全是疯子:)
我正在尝试编写ObservableType过滤器,它只传递某种类型,但会传递该类型,而不是原始序列类型.这是我到目前为止提出的:
extension ObservableType where Self.E: RxFilterableType {
func filterByCast<T: RxFilterableType>(class: T.Type) -> Observable<T> {
let retval = PublishSubject<T>()
self.subscribe { event in
switch event {
case .next(let element):
if let passed = element as? T {
retval.onNext(passed)
}
case .error(let error):
retval.onError(error)
case .completed:
retval.onCompleted()
}
}
return retval
}
}
func test() {
class A: RxFilterableType {}
class B: RxFilterableType {}
let array: [RxFilterableType] = [A(), B()]
let observable: Observable<RxFilterableType> = Observable.from(array)
let observableCasted: …Run Code Online (Sandbox Code Playgroud) 在一个巨大的源代码树中,我希望Mercurial只跟踪一个子文件夹.
specific/component/subfolder
Run Code Online (Sandbox Code Playgroud)
在任何体面的正则表达式工具(Regex Coach,regexpal.com)中,以下内容绝对足够(并且可以理解)
^(?!specific/component/subfolder).+
Run Code Online (Sandbox Code Playgroud)
同时.hgignore坚持要
^(?!extras).+
^extras/(?!extensions).+
^extras/extensions/(?!sharing).+
Run Code Online (Sandbox Code Playgroud)
一旦我把斜线放在前瞻组中,没有任何东西可以通过.
在调用这个bug之前(也许是另一个本土的正则表达式解析器?)我问集体智慧:-)
关于hgignore想要去的东西的间接线索的信用
ios ×3
cocoa ×1
cookies ×1
dom ×1
hgignore ×1
iframe ×1
ios8 ×1
ios9 ×1
javascript ×1
mercurial ×1
nsurl ×1
nsurlrequest ×1
osx-yosemite ×1
regex ×1
rx-swift ×1
safari ×1
swift3 ×1
tortoisehg ×1
uiwebview ×1
xcode ×1