Tag: uiapplication

在iOS中查找rootViewController

在ShareKit中,代码需要确定rootViewController的位置,以便显示模态视图。 出于某种原因,代码在iOS 5中失败: // Try to find the root view controller programmically // Find the top window (that is not an alert view or other window) UIWindow *topWindow = [[UIApplication sharedApplication] keyWindow]; if (topWindow.windowLevel != UIWindowLevelNormal) { NSArray *windows = [[UIApplication sharedApplication] windows]; for(topWindow in windows) { if (topWindow.windowLevel == UIWindowLevelNormal) break; } } UIView […]

在Safari中使用sharedApplication openURL方法打开使用POST方法托pipe的Url

我有一种情况,我在使用POST方法在Safari模拟器中的Safari浏览器中托pipe一个URL。 在模拟器中启动我的iOS应用程序后,网页在safari中打开。 启动Safari我已经使用[[UIApplication sharedApplication] openURL:… post方法如下: NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://***some client url***.jsp"]]; NSString *post = [NSString stringWithFormat:@"username=%@&password=%@", userName, password]; NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES]; [request setHTTPMethod:@"POST"]; [request setValue:[NSString stringWithFormat:@"%d", [postData length]] forHTTPHeaderField:@"Content-Length"]; [request setHTTPBody:postData];` NSURLConnection * _urlConnection = [[NSURLConnection alloc] initWithRequest:request delegate:self]; [_urlConnection开始]; 这段代码在使用UIWebView时工作正常。 但是我想用这个“请求”来启动Safari,后者在POST方法中附加了用户名和密码数据。 要启动Safari,我必须调用以下代码: [[UIApplication sharedApplication] openURL:request]; 但是,这显然会引发警告,因为“请求”是NSMutableURLRequesttypes的。 “语义问题:不兼容的指针types将'NSMutableURLRequest *'发送给'NSURL […]

如何获取ios中的当前应用程序图标

有没有办法在cocoa触摸应用程序中获取当前的应用程序图标? 谢谢。

UIApplication的-canOpenURL:-openURL:返回误导结果

自iOS6以来,我无法分辨应用程序是否可以启动Safari。 如果Safari在设备上受到限制(“设置”>“常规”>“限制”),则尝试打开URL时没有任何反应,也没有任何迹象表明发生了什么问题: NSURL *url = [NSURL URLWithString:@"http://www.google.com"]; [[UIApplication sharedApplication] canOpenURL:url]; // Returns YES [[UIApplication sharedApplication] openURL:url]; // Returns YES 然而,Safari并没有启动,用户仍然想知道为什么我的button被“破坏”。 这似乎是一个错误,所以我提起了一个雷达#12449905。 有没有另一种方法来解决这个问题?

如何禁用popup菜单项像select,全选,build议…,定义(在UIWebView)?

如何禁用popup菜单项像select , 全选 , build议… , 定义 (在UIWebView )? 我find了关于帮助的下列信息,但不知道如何使用它: 对于编辑菜单命令,这是共享的UIApplication对象。 根据上下文,您可以查询发件人的信息,以帮助您确定是否应启用命令。

closures已经交付的UILocalNotification?

是否有可能做到这一点? UIApplication's scheduledLocalNotifications UIApplication's通知似乎不会返回已经传递给用户通知中心的通知,所以我认为这可能是devise上的,但是我找不到任何有关这方面的文件证据。 有人知道吗? 谢谢! 编辑:find这个: 您可以通过在应用程序对象上调用cancelLocalNotification来取消特定的预定通知,并且可以通过调用cancelAllLocalNotifications来取消所有预定的通知。 这两种方法都是以编程方式解除当前 这里: http : //developer.apple.com/library/mac/#documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/IPhoneOSClientImp/IPhoneOSClientImp.html 但是,如果scheduledLocalNotifications未给我已经交付的通知,那么如何获得已交付通知的引用? 编辑2: 我注册了一些通知之后,我正在试图做的是: UIApplication *app = [UIApplication sharedApplication]; for (UILocalNotification *localNotification in app.scheduledLocalNotifications) { if (someCondition) { [app cancelLocalNotification:localNotification]; } } } 问题是,一旦他们交付,他们不再处于“scheduledLocalNotifications”。

以编程方式打开照片应用

是否有可能从iPhone应用程序启动“照片”应用程序? 类似于启动邮件? [[UIApplication sharedApplication] openURL:url];

从iPhone应用程序启动Google地图应用程序。

我试图从我的iPhone应用程序启动谷歌地图。 发射部分工作正常,但自从iPhone 3.1更新(我想这是在这个时候),我得到了一个缩小的美国和加拿大的地图,而不是放大我的当前位置。 一切工作正常,但有时更新的东西停止正常工作。 这是我一直在使用的string。 这适用于我的合作伙伴手机与iOS 3.0和我们的iPod与iOS 2.2.1,但在我的手机与iOS 3.1显示一个缩小的加拿大和美国的地图。 NSString *name = @"clothing"; NSString *latlong = [[NSString alloc] initWithFormat:@"%@,%@", latitudeString, longitudeString]; NSString *url = [NSString stringWithFormat: @"http://maps.google.com/maps?q=%@&mrt=yp&ll=%@", [name stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding], [latlong stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]; [[UIApplication sharedApplication] openURL:[NSURL URLWithString:url]]; [latlong release]; 任何帮助是极大的赞赏。 提前致谢。

canOpenURL无法使用系统范围的URLscheme

我正在运行iOS 9b5。 在我的应用程序中,如果设备可以拨打电话,我想将文本颜色设置为蓝色,以使其看起来可以点击。 如果不是,我把它留下黑色。 为了确定设备function,我使用: [[UIApplcation sharedApplication] canOpenURL:@"telprompt://5555555555"] 众所周知,iOS 9要求将我们将在我们的应用中使用的任何URLscheme列为白名单,作为隐私措施。 我在Info.plist中有这个: <key>LSApplicationQueriesSchemes</key> <array> <string>telprompt</string> </array> 无论我做什么,我仍然canOpenURL:URL失败:“telprompt:/ /” – 错误:“(空)”。 我试过电话:/和短信:/ /我似乎无法避免该系统日志警告。 有谁知道一种方法来检测设备是否可以拨打电话,而不会触发这些警告?

从我的应用打开Gmail应用

我试图从我的应用程序发送电子邮件。 但是,我想要的是,如果用户在他/她的手机上有Gmail应用程序,则应该使用它发送邮件。 如果Gmail应用程序不可用,则应将用户redirect到邮箱。 那么如何知道用户是否包含Gmail应用程序,以及如何将用户redirect到该应用程序。