小编Ink*_*lem的帖子

应用内购买收据验证,"in_app"字段为空

我正在尝试使用iOS 5后的方法验证应用内购买,然后将其发送到我的服务器并在那里进行验证.我的应用程序中的代码非常简单:

let url = NSBundle.mainBundle().appStoreReceiptURL!
let receipt = NSData(contentsOfURL: url)

// Get the receipt data from the app bundle
if let receipt = receipt {
    let requestContents: [String: NSString] = [
        "receipt_data" : receipt.base64EncodedStringWithOptions(NSDataBase64EncodingOptions([]))
    ]
    // send the receipt using NSURLSessionDataTask
}
Run Code Online (Sandbox Code Playgroud)

服务器端只是将数据转发给Apple,然后解析它,并将其发送回应用程序.问题是,in_app对于大量客户而言,该字段是不可预测的空的(通过日志记录可见),但我无法在任何测试设备或beta测试人员上重现此问题.

什么可能导致这个字段成为空集?根据Apple的推荐,我在SKReceiptRefreshRequest发生这种情况时会使用它,但它似乎没有帮助.

in-app-purchase ios swift

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

当表情符号存在时,使用 NSRegularExpression 会产生不正确的范围

我正在尝试从用户提供的字符串中解析出“@mentions”。正则表达式本身似乎可以找到它们,但当表情符号存在时,它提供的范围是不正确的。

let text = " @joe "
let tagExpr = try? NSRegularExpression(pattern: "@\\S+")
tagExpr?.enumerateMatches(in: text, range: NSRange(location: 0, length: text.characters.count)) { tag, flags, pointer in
    guard let tag = tag?.range else { return }

    if let newRange = Range(tag, in: text) {
        let replaced = text.replacingCharacters(in: newRange, with: "[email]")
        print(replaced)
    }
}
Run Code Online (Sandbox Code Playgroud)

运行时 tag=(位置:7,长度:2)

并打印出来 [email]oe

预期结果是 [email]

string ios emoji swift

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

CloudKit仪表板权限不足

我无法访问CloudKit仪表板https://icloud.developer.apple.com/dashboard/.Insufficient privileges You Apple ID does not have the required privileges to access any iCloud Container. Please contact your team administrator for the necessary privileges.即使我是唯一的团队成员,我仍然会收到错误我收到此错误.有关如何解决此问题的任何想法?

itunesconnect ios icloud cloudkit

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

Xcode 6 Interface Builder视图的大小错误

我正在尝试使用Xcode中的Single View Application模板设置基本故事板.Main.storyboard中有一个视图控制器.我可以添加一个子视图,我可以调整它填充其父视图的大小,但如果我添加自动布局约束,它认为前导和后沿需要设置为-16以填充屏幕.如果我将它们设置为0,就像我期望的那样,那么它在视图的两侧有一个16点的间隙.

有谁知道为什么它坚持将约束设置为-16?

在此输入图像描述

interface-builder ios autolayout swift xcode6

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