我们目前在应用商店中有一个应用,它使用IAP来停用广告并添加一些功能.
但是,我们注意到有些用户在购买IAP时遇到了问题.经过仔细审查后,似乎大部分原因都归结为购买时没有活跃的互联网连接.然而,大约十几个案件无法追踪和解决.
其中之一:
结论:用户付费但尚未收到IAP.(当然这可以通过再次点击IAP并免费下载来解决,但这并不理想)
我们正在寻求测试这种边缘情况的解决方案.但是,测试帐户通常不需要有效的CC信息.从而..
问题:如何测试此类案例?
我有以下函数(示例),我想以函数方式编写:
func passengerForId(_ id: Int) -> Passenger?
{
for car in cars
{
for passenger in car.passengers
{
if passenger.id == id
{
return passenger
}
}
}
return nil
}
Run Code Online (Sandbox Code Playgroud)
什么是最好的方式?
我尝试过以下方法:
func passengerForId(_ id: Int) -> Passenger?
{
return cars.first(where: { $0.passengers.contains(where: { $0.id == id } ) })
}
Run Code Online (Sandbox Code Playgroud)
然而,这显然会使包含所请求乘客的车辆返回,而不是乘客本身.
另一个选择是:
func passengerForId(_ id: Int) -> Passenger?
{
let passengers = cars.flatMap { car in car.passengers }
return passengers.first(where: { $0.id == id })
}
Run Code Online (Sandbox Code Playgroud)
要么
func …Run Code Online (Sandbox Code Playgroud)