我的一个iphone应用被苹果拒绝了.这是决议中心的原因.

我们发现您的应用使用分析软件收集设备数据并将其发送给第三方,这不符合iOS开发人员计划许可协议.
3.3.9未经用户同意,您和您的应用程序不得收集用户或设备数据,然后仅提供与使用应用程序直接相关的服务或功能,或提供广告服务.您不得在"应用程序"中使用分析软件来收集设备数据并将其发送给第三方.
具体而言,您的应用程序在未经其事先同意的情况下传输用户的MAC地址.从您的应用程序中删除此行为或获得用户的同意是适当的."
没有使用任何分析sdk.只有第三方使用的是 - Chartboost,Revmob,facebook-ios-sdk,Nextpeer.我该如何解决这个问题?怎么能找到哪个sdk有问题?
我想在用户点击通话按钮时打开拨号盘,然后用户输入电话号码并拨打电话
我知道我们可以这样打电话
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"telprompt://2135554321"]];
Run Code Online (Sandbox Code Playgroud)
但我想打开拨号盘,然后让用户输入号码,然后按通话键拨打电话
如果这是不可能的,那么想做我的应用程序打开直接到dail pad然后用户调用它然后它应该重定向到我的应用程序
我使用NSFilemanager类检查我的Mac OS文件夹中是否存在文件.fileExistsAtPath总是失败...帮我找错.谢谢
NSURL* finalImageURL;
NSURL* imageURL = [[plistURL URLByDeletingPathExtension] URLByAppendingPathExtension:@"png"];
NSLog(@"Path: %@\n",imageURL.absoluteString); //Prints Path: /Users/MacAdmin/Desktop/gameover/sheet/SpriteSheet_GameOver-ipadhd.png
if ([[NSFileManager defaultManager] fileExistsAtPath:imageURL.absoluteString])
{
printf("Exists\n");
}
Run Code Online (Sandbox Code Playgroud) 我在ObjectiveC中使用了下面的代码,并且可以快速给出错误。
#define IS_IPAD (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
Run Code Online (Sandbox Code Playgroud)
帮助我获得它的Swift版本。
已经试过这些:
'dispatch_once_t'在Swift中不可用:改为使用延迟初始化的全局变量
class var sharedInstance:Model{
struct Static{
static var instance:Model?
static var token: dispatch_once_t = 0
}
dispatch_once(&Static.token){
Static.instance = Model()
}
return Static.instance!
}
Run Code Online (Sandbox Code Playgroud)
请建议我dispatch_once_t的替代方法..我不知道swift,我代码C/C++/Obj.C,请给我快速代码修复上面的问题