使用PHP或JS解码Youtube密码签名的最佳方法

当字典中的use_cipher_signature = true通过http://www.youtube.com/get_video_info?&video_id=Video_Id返回时,Youtube正在使用一些video的密码签名 示例ID:_JQH3G0cCtY encryption签名实际上是任何人都可以用几套工作签名进行debugging的encryption签名。 但Youtube不断改变加扰algorithm。 我已经看到很less的Youtubevideo下载工作正常,不受这个变化的游戏的影响。 我认为他们正在检查播放器,并从播放器文件中提取解码脚本,因此会使它们继续运行。 在这种情况下,我需要一些关于实际技术的帮助。 我知道'youtube-dl' – 一个下载video的python程序。 由于我不擅长python,我认为他们使用的是相同的方法。 还有一个用户脚本JS文件在这里: http : //userscripts.org/scripts/show/25105 ,这是做同样的事情。 任何有关理解PHP或JS密码的理智方法的帮助将不胜感激。

如何在iPhone中使用URL链接播放音乐文件?

我想用iPhone中的URL链接播放音乐文件。 但是,当我使用下面的代码,我得到错误,我没有得到我要去的地方错了。 任何人都可以纠正我? -(void)viewDidLoad { [super viewDidLoad]; NSString* resourcePath = @"http://192.167.1.104:8888/SHREYA.mp3"; //your url NSData *_objectData = [NSData dataWithContentsOfURL:[NSURL URLWithString:resourcePath]]; NSError *error; audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:_objectData error:&error]; audioPlayer.numberOfLoops = -1; if (audioPlayer == nil) NSLog([error description]); else [audioPlayer play]; }

如何将我的WordPress博客整合到iOS应用程序中?

如何将我的WordPress博客整合到iOS应用程序中? 我有一个漂亮的单词新闻网站,我想创build一个本机的iOS应用程序。 我对iOS编码有所了解,但我不知道如何去展示所有最新的博客。 提前致谢!

如何为着色器devise一个简单的GLSL包装器

更新:因为我马上需要一些东西,所以我创build了一个简单的着色器包装器,它可以处理我需要的东西。 你可以在这里find它: GitHub上的ShaderManager 。 请注意,它是为Objective-C / iOSdevise的,因此可能对每个人都没用。 如果您有任何关于devise改进的build议,请告诉我! 原始问题: 我是使用GLSL着色器的新手。 我对GLSL语言和OpenGL接口非常熟悉,但是在devise使用着色器的简单API时遇到了麻烦。 OpenGL的C接口与着色器交互看起来很麻烦。 我似乎无法在网上find任何涵盖这些APIdevise的教程。 我的问题是: 任何人都有一个好的,简单的APIdevise或模式来包装OpenGL着色器程序API? 以下面的简单例子。 假设我有一个模拟固定function的顶点着色器和两个片段着色器 – 一个用于绘制光滑的矩形,一个用于绘制光滑的圆。 我有以下文件: Shader.vsh : Simple vertex shader, with the following inputs/outputs: — Uniforms: mat4 Model, mat4 View, mat4 Projection — Attributes: vec4 Vertex, vec2 TexCoord, vec4 Color — Varying: vec4 vColor, vec2 vTexCoord Square.fsh : Fragment shader […]

iOS中的Dealloc方法并将对象设置为nil

我有一个非常基本的问题。 在我看到的一些例子中,对象只是在dealloc方法中被释放。 在其他情况下,对象被释放,然后设置nil 。 是否有一个原因? 释放后是否设置为有利?

如何通过iPad应用程序中的所有主动线程循环

在我创build的iPad应用程序中,我试图通过输出exception的callStackSymbols来处理未捕获的exception。 这可以用[NSException callStackSymbols] 不过,我希望能够在所有其他活动线程上看到callStackSymbols。 我知道我可以在任何线程上使用[NSThread callStackSymbols] ,但是我需要遍历所有活动线程来完成。 这可能吗?

如何强制视图呈现自己?

在我的应用程序中,我有一些小的子视图。 当用户点击一个子视图时,我把一个单独的视图放在点击的子视图的顶部(相同的大小),然后将这个单独的视图animation化为全屏大小。 放大的视图是自定义绘制的,这是这种方法造成的一个大问题。 如果我在我的主视图的viewDidLoad方法中创build放大视图并将其框架设置为全屏大小,则视图的drawRect方法立即被调用,并且视图被正确呈现为全尺寸。 如果我在animation中使用这个视图,一切都按预期工作。 但是,我需要这个放大的视图根据哪个子视图被点击不同,所以我需要每次重新创build/重新绘制它。 问题是,当我这样做以响应触摸事件时,视图的drawRect方法在animation开始之前不会被调用,此时视图的框架很小,而不是全屏,结果一切都会出错。 在触摸事件的代码中,我明确地将视图的框架设置为全屏,并在开始animation之前调用setNeedsDisplay ,但这没有任何作用 – 只有在animation开始之前才调用drawRect 。 有什么办法强制重绘,以便视图被绘制,而其框架是我想要的大小?

斯威夫特 – 如何从照片库最后拍摄3张照片?

我需要从viewDidload事件中获取并显示最后拍摄的照片库中的3张照片,没有任何点击。 在这一步之后,当我滚动scrollview时,我应该得到其他的照片3乘3。 你知道迅速做到这一点的正确方法吗? 谢谢。

用故事板反转自定义塞

我有一个自定义的segueanimation,当推新视图控制器到堆栈时发生。 然而,当popup呈现所述自定义轮播的视图控制器时,默认导航控制器animation发生(即,当父视图控制器从左边缘在屏幕上翻译时,当前视图控制器向右移动)。 所以我的问题是这样的:有没有办法写一个自定义stream行音乐播放animation时,popup一个视图控制器的堆栈? 编辑(解决scheme): 我最终定义了一个类似于所选答案的自定义search。 在Storyboard中,我将一个自定义的Segue从子视图控制器拖回到它的父对象,给它一个标识符,并将新创build的reverse segue作为它的类。 是的,我意识到它几乎与模式转换相同。 客户的要求使这种疯狂成为必然,所以在有人提出意见之前,要明白我知道在正常情况下不应该这样做。 – (void)perform { UIViewController *src = (UIViewController *)self.sourceViewController; UIViewController *dest = (UIViewController *)self.destinationViewController; [UIView animateWithDuration:0.3 animations:^{ CGRect f = src.view.frame; f.origin.y = f.size.height; src.view.frame = f; } completion:^(BOOL finished){ src.view.alpha = 0; [src.navigationController popViewControllerAnimated:NO]; }]; }

以编程方式使用Swift自定义UITableViewCell

嘿,我想创build一个自定义的UITableViewCell ,但我看不到在模拟器上。 你能帮我吗。 我只能看到标签如果我var labUserName = UILabel(frame: CGRectMake(0.0, 0.0, 130, 30)); 但它与单元格重叠。 我不明白,自动布局应该知道每个单元格的首选大小/最小大小? 谢谢 import Foundation import UIKit class TableCellMessages: UITableViewCell { var imgUser = UIImageView(); var labUserName = UILabel(); var labMessage = UILabel(); var labTime = UILabel(); override init(style: UITableViewCellStyle, reuseIdentifier: String) { super.init(style: style, reuseIdentifier: reuseIdentifier) imgUser.layer.cornerRadius = imgUser.frame.size.width / 2; imgUser.clipsToBounds = […]