Xcode 9的Braintree错误

时间:2017-09-23 17:05:52

标签: braintree xcode9

自从我升级到Xcode 9后,我的BTAPIClient.m文件出现了新错误。

@defaultFirst变量触发以下错误:

  

“NSNumber *”类型的对象与字典值不兼容   输入'NSString *'。

发生在以下代码行中:parameters:@{@"default_first": @(defaultFirst)}

我无法找到记录此错误的其他人。我没有修改任何代码,这是一个新的Cocoapods安装。

- (void)fetchPaymentMethodNonces:(BOOL)defaultFirst completion:(void (^)(NSArray <BTPaymentMethodNonce *> *, NSError *))completion {
if (!self.clientToken) {
NSError *error = [NSError errorWithDomain:BTAPIClientErrorDomain code:BTAPIClientErrorTypeNotAuthorized userInfo:@{ NSLocalizedDescriptionKey : @"Cannot fetch payment method nonces with a tokenization key", NSLocalizedRecoverySuggestionErrorKey : @"This endpoint requires a client token for authorization"}];
    if (completion) {
        completion(nil, error);
    }
    return;
}

[self GET:@"v1/payment_methods"
         parameters:@{@"default_first": @(defaultFirst),
                      @"session_id": self.metadata.sessionId}
         completion:^(BTJSON * _Nullable body, __unused NSHTTPURLResponse * _Nullable response, NSError * _Nullable error) {
             dispatch_async(dispatch_get_main_queue(), ^{
                 if (completion) {
                     if (error) {
                         completion(nil, error);
                     } else {
                         NSMutableArray *paymentMethodNonces = [NSMutableArray array];
                         for (NSDictionary *paymentInfo in [body[@"paymentMethods"] asArray]) {
                             BTJSON *paymentInfoJSON = [[BTJSON alloc] initWithValue:paymentInfo];
                             BTPaymentMethodNonce *paymentMethodNonce = [[BTPaymentMethodNonceParser sharedParser] parseJSON:paymentInfoJSON withParsingBlockForType:[paymentInfoJSON[@"type"] asString]];
                             if (paymentMethodNonce) {
                                 [paymentMethodNonces addObject:paymentMethodNonce];
                             }
                         }
                         completion(paymentMethodNonces, nil);
                     }
                 }
             });
}];

1 个答案:

答案 0 :(得分:2)

我在使用Cocoapods的项目中遇到了同样的问题。

请确保您没有更新您的依赖项:

  • 关闭xcode
  • 清除pods文件夹
  • 运行pod install而不是update
  • 构建