iOS过审技巧之根据地址隐藏某些功能
提交AppStore只会在位于美国的审核人员来审核
如果不考虑美国地区使用
那就可以在didFinishLaunchingWithOptions根据ip地址来获取国家
如果是在美国说明是在过审
那么就隐藏相关敏感功能
如果不是在美国
那么正常显示
//根据ip地址来获取国家
__POST("http://ip.taobao.com/service/getIpInfo.php?ip=myip", parameters: nil, faliure: { (error) in
Handle?(false)
}) { (netData) in
print(netData)
//获取国家代码
let CountryID = "country_id".StrIn("data".DictIn(netData))
if CountryID == "US" {
//隐藏微信登陆按钮及三方支付等敏感功能
}else{
//美国之外地区 正常显示
}
Handle?(true)
}
淘宝这个api最近太不稳定
替代方式
只能判断处于国内
@objc var Country = "US"
@objc public class func loadIPAddress(setAtUS: Bool) {//依据IP获取位置
DCLoadingV.initLoadingV()
DispatchQueue.global().async {
let arr = "河北省、山西省、吉林省、辽宁省、黑龙江省、陕西省、甘肃省、青海省、山东省、福建省、浙江省、台湾省、河南省、湖北省、湖南省、江西省、江苏省、安徽省、广东省、海南省、四川省、贵州省、云南省、北京市、上海市、天津市、重庆市".components(separatedBy: "、")
do {
let ipStr = try String.init(contentsOf: URL.init(string: "http://pv.sohu.com/cityjson?ie=utf-8")!, encoding: String.Encoding.utf8)
for str in arr {
if ipStr.contains(str) {
print(ipStr, str)
DCNetManager.shared.Country = "CN"
return
}
}
}catch{}
}
}
网友评论