小编ale*_*mix的帖子

paymentQueue:updatedTransactions:在恢复期间未调用

在极少数情况下,我的一些用户似乎无法进行非消耗品购买.当他们尝试购买时,它不会激活"高级",并且当他们从当前安装恢复或未paymentQueue: updatedTransactions:调用全新安装时.

我已经添加了大量日志记录,专门用于尝试确定还原未遵循预期流量的原因.在恢复失败期间,不会触发任何"RESTORE"类别事件.

仅供参考,[self success];只显示内容视图,[self fail:]并向用户显示错误消息.

[[SKPaymentQueue defaultQueue] addTransactionObserver:self];被调用viewDidLoad[[SKPaymentQueue defaultQueue] restoreCompletedTransactions];按下按钮.

- (void)paymentQueueRestoreCompletedTransactionsFinished:(SKPaymentQueue *)queue {
    // COMPLETION POINT - RESTORE COMPLETE***
    [MBProgressHUD hideHUDForView:self.view animated:TRUE];

    if ([SKPaymentQueue defaultQueue].transactions.count == 0) {
        [self.tracker send:[[GAIDictionaryBuilder createEventWithCategory:@"RESTORE"
                                                                   action:@"failure_hard"
                                                                    label:@"no_purchases"
                                                                    value:nil] build]];
        [self fail:@"There are no items available to restore at this time."];
    } else {
        [self success];
    }
}

- (void)paymentQueue:(SKPaymentQueue *)queue restoreCompletedTransactionsFailedWithError:(NSError *)error {
    // COMPLETION POINT - RESTORE FAILED
    [MBProgressHUD …
Run Code Online (Sandbox Code Playgroud)

in-app-purchase ios skpaymenttransaction

7
推荐指数
2
解决办法
2964
查看次数

yyyy-MM-dd'T'HH:mm:ss和yyyy-MM-dd'T'HH之间的日期格式差异:mm:ssXXX

我试图2014-12-03T10:05:59.5646+08:00使用这两种格式解析日期:

  • yyyy-MM-dd'T'HH:mm:ss
  • yyyy-MM-dd'T'HH:mm:ssXXX

当我解析使用yyyy-MM-dd'T'HH:mm:ss它工作正常,但当我解析yyyy-MM-dd'T'HH:mm:ssXXX一个ParseException被抛出.

哪种解析日期的格式正确,以及这两种格式之间究竟有什么区别?

注意:我不能用Joda :(

java date-format simpledateformat date-formatting

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

您的帐户已拥有有效的iOS开发证书

我从我公司的另一个部门借用了iPad mini(MF432C/A)iOS 8.0.2来处理不同的 iOS应用程序并尝试构建我的应用程序.

尝试通过Xcode版本6.4(6E35b)进行构建时收到以下错误

编码标志失败----.

没有一个有效的配置文件包括设备:725产品开发iPad mini.

Xcode可以尝试解决此问题.

在此输入图像描述

点击修复问题,最近我做了一个不错的自动配置未知设备的工作,我得到以下消息:

您的帐户已拥有有效的iOS开发证书

您在成员中心拥有有效的iOS开发证书,但未在本地安装.如果您的签名身份安装在另一台Mac上,则可以在该Mac上导出开发人员配置文件并将其导入此Mac.您也可以撤销当前的证书并申请新的证书.

在此输入图像描述

从相关的Apple文档来看,我似乎错过了正确的签名身份,无法在此设备上构建我的应用程序.问题是这可能是其他应用程序开发人员的签名身份.有没有办法绕过这个错误并为我自己的应用程序配置设备?

编辑:在活动日志下,我看到以下两个代码签名错误:

检查依赖项

代码签名错误:找不到匹配的配置文件:没有任何有效的配置文件包含设备:725产品开发iPad mini

CodeSign错误:SDK"iOS 8.4"中的产品类型"应用"需要代码签名

iphone xcode ios

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

保存到下载文件夹的文件不会显示在“下载”应用程序中

我正在尝试将文件保存到下载文件夹。我获取目录并使用如下方式保存文件:

File exportDir = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS), "");
if (!exportDir.exists()) {
    exportDir.mkdirs();
}
File file = new File(exportDir, "filename.csv");
try {
    if (file.exists()) {
        // if the file exists create new file will do nothing. We want to
        // overwrite contents every time
        file.delete();
    }
    boolean created = file.createNewFile();
    if (!created) {
        Log.d("", "Failed to create file");
    }

    // .. write to file

    MediaScannerConnection.scanFile(activity, new String[]{exportDir.getPath()}, null, null);
} catch (Exception sqlEx) {
    Log.e("MainActivity", sqlEx.getMessage(), sqlEx);
}
Run Code Online (Sandbox Code Playgroud)

我在三台设备上对此进行了测试:

  • 一加 3(安卓 8.0.0) …

android android-mediascanner android-external-storage

4
推荐指数
1
解决办法
7767
查看次数

Facebook iOS SDK 3.6 startWithGraphPath完成块未执行

我已经与Facebook集成,因此除其他外,我可以将状态发布到我的Feed中.我基于发布的一些代码来提供开发人员教程.从我的iOS应用程序运行以下Graph API请求时,永远不会调用请求的完成块,并且XCode调试日志中不会出现错误.

[FBRequestConnection
startWithGraphPath:@"me/feed"
parameters:params
HTTPMethod:@"POST"
completionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
    if (error) {
        DLog(@"error: domain = %@, code = %d", error.domain, error.code);
    } else {
        DLog(@"Posted action, id: %@", result[@"id"]);
    }
}];
Run Code Online (Sandbox Code Playgroud)

我有两个便利函数,activeSession在执行此请求之前对当前执行检查.它们看起来像这样:

+ (BOOL)facebookSessionIsOpen {
    return (FBSession.activeSession.isOpen);
}

+ (BOOL)facebookSessionHasPublishPermissions {
    if ([FBSession.activeSession.permissions indexOfObject:@"publish_actions"] == NSNotFound ||
        [FBSession.activeSession.permissions indexOfObject:@"publish_stream"] == NSNotFound ||
        [FBSession.activeSession.permissions indexOfObject:@"manage_friendlists"] == NSNotFound) {
        return NO;
    } else {
        return YES;
    }
}
Run Code Online (Sandbox Code Playgroud)

这两个函数都返回YES指示具有必要发布权限的活动会话.更令人困惑的是,在使用以下代码成功执行相同检查(不需要授予发布权限来提取配置文件)后,我可以毫无问题地提取用户的配置文件:

[FBRequestConnection
startWithGraphPath:@"me"
parameters:[NSDictionary …
Run Code Online (Sandbox Code Playgroud)

facebook-graph-api ios

3
推荐指数
1
解决办法
4562
查看次数

imageNamed在iOS 7上返回nil但在iOS 8上不返回nil

我有各种时间间隔的图像.一个例子是"1.5d-4h.png",也就是4小时到1.5天之间.我为每个区间图像定期提供@ 2x和@ 3x资源,并且我确保它们都是PNG(不是JPG),但由于某些原因,某些间隔图像无法imageNamed仅通过iOS 7加载.iOS 8设备正确加载所有可能的间隔图像.

从一些进一步的测试看起来像在iOS 7上,如果你完全符合名称,imageNamed它就能成功地使用所有这些图像,例如

(lldb) po [UIImage imageNamed:@"1.5d-4h.png"]
<UIImage: 0x7ec390>

(lldb) po [UIImage imageNamed:@"1.5d-4h"]
 nil
Run Code Online (Sandbox Code Playgroud)

在iOS 7和8上成功加载的图像示例:

(lldb) po [UIImage imageNamed:@"10-9d"]
<UIImage: 0x10cc290>
Run Code Online (Sandbox Code Playgroud)

这是完整的时间间隔:

@"4h-0min"
@"1.5d-4h"   // fails
@"4.5-1.5d"  // fails
@"5.5-4.5d"  // fails
@"7-5.5d"    // fails
@"9-7d"
@"10-9d"
Run Code Online (Sandbox Code Playgroud)

有什么建议?

iphone objective-c ios ios7 ios8

1
推荐指数
1
解决办法
421
查看次数