我正在尝试使用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发生这种情况时会使用它,但它似乎没有帮助.
我正在尝试从用户提供的字符串中解析出“@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]
我无法访问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.即使我是唯一的团队成员,我仍然会收到错误我收到此错误.有关如何解决此问题的任何想法?
我正在尝试使用Xcode中的Single View Application模板设置基本故事板.Main.storyboard中有一个视图控制器.我可以添加一个子视图,我可以调整它填充其父视图的大小,但如果我添加自动布局约束,它认为前导和后沿需要设置为-16以填充屏幕.如果我将它们设置为0,就像我期望的那样,那么它在视图的两侧有一个16点的间隙.
有谁知道为什么它坚持将约束设置为-16?
