小编Tom*_*usX的帖子

AFNetworking 2.0 - "不可接受的内容类型:text/plain"

我正在使用AFNetworking 2.0从我正在构建的服务(localhost现在开始)中读取JSON .很正常的东西.

Node正在发送JSON,如下所示:

res.setHeader('Content-Type','application/json');
res.end( JSON.stringify(...));
Run Code Online (Sandbox Code Playgroud)

我的iOS首次传递代码试图像这样读取数据:

typedef void(^NextBlock)();
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];

manager.responseSerializer = [AFJSONResponseSerializer serializer];
[manager GET:self.newestTimestampURL.absoluteString
    parameters:nil
    success:^(AFHTTPRequestOperation *operation, id responseObject)
    {
        //NSDictionary *response =
        NSLog(@"got %@", responseObject );
    }
    failure:^(AFHTTPRequestOperation *operation, NSError *error)
    {
        NSLog(@"fail %@", error );
    }];
Run Code Online (Sandbox Code Playgroud)

这是我得到的错误:

Error Domain=AFNetworkingErrorDomain Code=-1016 "Request failed: unacceptable content-type: text/plain" UserInfo=0xb783e30 {NSErrorFailingURLKey=http://localhost:3000/api/v1/log/newest, AFNetworkingOperationFailingURLResponseErrorKey=<NSHTTPURLResponse: 0xb656a70> { URL: http://localhost:3000/api/v1/log/newest } { status code: 200, headers {
Connection = "keep-alive";
ContentType = "application/json";
Date = "Fri, 27 …
Run Code Online (Sandbox Code Playgroud)

json node.js ios ios7 afnetworking-2

28
推荐指数
3
解决办法
4万
查看次数

NSData不接受有效的base64编码字符串

我正在iOS(7)客户端实现JSON Web Token身份验证.它工作得很好.我的应用程序接收令牌,并可以使用它们对我的服务器进行经过身份验证的调用.

现在,我希望我的客户端代码检查令牌上的到期日期,以便它可以知道何时重新进行身份验证.检查JWT身份验证令牌的到期日期非常简单.授权令牌是3个base64编码的JSON blob,用'.'分隔.- 到期时间戳位于中间blob中,在一个名为的字段中ext.这是unix时代以来的几秒钟.

所以我的代码看起来像这样:

- (NSDate*) expirationDate
{
    if ( !_tokenAppearsValid ) return nil;

    if ( !_parsedExpirationDate )
    {
        //
        //  Token is three base64 encoded payloads separated by '.'
        //  The payload we want is the middle one, which is a JSON dict, with
        //  'exp' being the unix seconds timestamp of the expiration date
        //  Returning nil is appropriate if no 'exp' is findable
        //

        NSArray *components = [self.token componentsSeparatedByString:@"."];

        NSString *payload = …
Run Code Online (Sandbox Code Playgroud)

base64 json nsdata ios jwt

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

iOS自定义过渡和旋转

我正在使用自定义过渡来显示全屏模态游戏视图.当用户启动游戏时,根视图控制器缩小到"进入"屏幕,而全屏游戏视图控制器从较大比例缩放到显示器上,同时从0%不透明度转换到100%不透明度.简单!

过渡看起来很棒并且工作正常,在解雇游戏视图控制器时也正确地反转动画.

我遇到的问题是,如果在显示全屏游戏视图控制器的同时旋转设备,则在返回到根视图控制器时,布局完全是棘手的.并且进一步的旋转不能解决问题,布局是螺旋式的并且保持螺旋状.

如果我禁用自定义转换,这个问题就消失了.此外,如果我保留自定义转换,但禁用在转换动画中的源和目标视图上设置CATransform3D的调用,则问题会再次消失.

这是我的过渡代表:

class FullscreenModalTransitionManager: NSObject, UIViewControllerAnimatedTransitioning, UIViewControllerTransitioningDelegate  {

    private var presenting:Bool = true

    // MARK: UIViewControllerAnimatedTransitioning protocol methods

    func animateTransition(transitionContext: UIViewControllerContextTransitioning) {

        // get reference to our fromView, toView and the container view that we should perform the transition in
        let container = transitionContext.containerView()
        let fromView = transitionContext.viewForKey(UITransitionContextFromViewKey)!
        let toView = transitionContext.viewForKey(UITransitionContextToViewKey)!

        let scale:CGFloat = 1.075
        //let bigScale = CGAffineTransformMakeScale(scale, scale)
        //let smallScale = CGAffineTransformMakeScale(1/scale,1/scale)
        let bigScale = CATransform3DMakeScale(scale, scale, 1) …
Run Code Online (Sandbox Code Playgroud)

transitions uiviewcontroller ios swift

10
推荐指数
2
解决办法
3542
查看次数

Swift中的二进制文件IO

编辑:TLDR在C系列语言中,您可以通过转换将任意数据(整数,浮点数,双精度,结构)表示为字节流,并将它们打包到流或缓冲区中.你可以反过来取回数据.当然,你可以字节交换字节顺序正确性.

这在惯用语中是否可行?

现在原来的问题:

如果我用C/C++/ObjC编写,我可能会将一个结构转换为unsigned char*并将其字节写入FILE*,或将它们memcpy到缓冲区.对于整数,双打等也是如此.我知道有一些关于endianness的问题需要处理,但这适用于iOS应用程序,并且我不认为endianness会在不久的将来更改平台.Swift的类型系统似乎不允许这种行为(将任意数据转换为无符号8位整数并传递地址),但我不知道.

我正在学习Swift,并希望用一种惯用的方式来编写我的数据.请注意,我的数字很高,最终将通过网络发送,因此它需要紧凑,所以像JSON这样的文本格式已经出来了.

可以使用NSKeyedArchiver,但我想在这里学习.此外,我不想在未来的某个时刻注销一个Android客户端,所以一个简单的二进制编码似乎在它的位置.

有什么建议?

ios swift

6
推荐指数
2
解决办法
7044
查看次数