Google Drive iOS SDK:显示取消loginbutton

我在iOS应用程序上工作,我使用Google驱动器来访问我的文件,login和列表文件工作正常,但我只是问我可以如何添加一个取消buttonlogin界面提供的谷歌驱动器sdk看图像怒吼 因为,你看到没有办法做一个cancel或go backbutton。 这是我的代码 // verify if the user is already connected or not – (void)checkIfIsConnected { // Check for authorization. GTMOAuth2Authentication *auth = [GTMOAuth2ViewControllerTouch authForGoogleFromKeychainForName:kKeychainItemName clientID:kClientID clientSecret:kClientSecret]; if ([auth canAuthorize]) { [self isAuthorizedWithAuthentication:auth]; }else { [self ConnectToDrive]; } } – (GTLServiceDrive *)driveService { static GTLServiceDrive *service = nil; if (!service) { service = [[GTLServiceDrive […]

Phonegap – 在Apple地图应用程序中打开导航指示

我有两个variables – 目的地和源 – 并使用Phonegap,我试图用jQuery打开外部iPhone苹果地图应用程序的方向。 我正在使用的代码如下所示: var url = 'http://maps.apple.com/?q=daddr='+destination+'&saddr='+source; window.location = url; 每当我点击相关的button,它会打开一个新的视图应用程序与谷歌方向作为一个Web视图,我不能回到原来的应用程序。 如何打开链接,而不是iOS默认地图应用程序?

如何在NSURLSession中查找和取消任务?

我正在使用NSURLSession对象来加载我的应用程序中的图像。 这可能会同时加载多个图像。 在某些时刻,我需要取消加载一个特定的图像,并继续加载其他人。 你能build议正确的方法来做到这一点?

切换到iOS 5后无法播放系统声音

这是我如何在iOS 4中发挥嘟嘟声的效果: SystemSoundId beepOnSoundId; CFURLRef soundUrl = CFBundleCopyResourceURL( CFBundleGetMainBundle(), CFSTR("beep"), CFSTR("wav"), NULL ); // soundUrl logged: // file://localhost/var/mobile/Applications/ … beep.wav AudioServicesCreateSystemSoundID(soundUrl, &beepOnSoundId); // beepOnSoundId logged: 4097 AudioServicesPlaySystemSound(beepOnSoundId); 当我将设备升级到iOS 5时,它停止工作。 我什么也没听到。 我注销了所有的variables,没有零或0。 iOS 5中如何改变API,打破了我的声音播放代码? 更新 这个问题可能是因为我在播放声音的时候运行了AVCaptureSession 。 不知何故,iOS 5不会让你这样做了。 当我从相机录制某些东西时,我需要发出哔哔声。

在客户端获取iOS Universal Framework的版本号

这可能不限于iOS通用框架,而是所有xxx.framework文件。 不过,我似乎无法find如何在客户端应用程序中获取当前版本和构build框架的文档。 在一个应用程序中,你会使用类似于: NSString *name = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleDisplayName"]; NSString *build = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"]; NSString *version = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"]; 这会给你的信息存储在Info.plist中的应用程序。 但是,我们如何find一个框架的信息。 在我的情况下,特别是一个embedded式框架。

以编程方式创build一个UISearchDisplayController

我试图以编程方式创build一个UISearchDisplayController 。 我有一个方法,应该build立我的search控制器,但是当我打电话的时候,没有任何反应。 这我-setupSearch方法: – (void)setupSearch { UISearchBar *myBar; UISearchDisplayController *myCon; myBar = [[UISearchBar alloc] initWithFrame:CGRectZero]; [myBar sizeToFit]; myCon = [[UISearchDisplayController alloc] initWithSearchBar:myBar contentsController:self]; [myBar release]; myCon.delegate = self; myCon.searchResultsDataSource = self; myCon.searchResultsDelegate = self; /* Setup scopes */ { NSMutableArray *scopes; NSUInteger count, i; NSString *aScope; count = SCOPE_COUNT; scopes = [[NSMutableArray alloc] initWithCapacity:count]; […]

如何在Swift中正确使用类扩展?

在Swift中,我一直使用扩展来扩展封闭types,并提供方便的,无逻辑的function,比如animation,math扩展等。但是,由于扩展是遍布整个代码库的硬依赖,所以在实现作为延伸的东西。 不过,最近我已经看到,苹果build议在更大程度上使用扩展,例如将协议作为单独的扩展来实现。 也就是说,如果你有一个实现协议B的类A,那么你最终得到这个devise: class A { // Initializers, stored properties etc. } extension A: B { // Protocol implementation } 当你进入这个兔子洞,我开始看到更多基于扩展的代码,例如: fileprivate extension A { // Private, calculated properties } fileprivate extension A { // Private functions } 我的一部分就像你在分开的扩展中实现协议时所获得的构build块。 它使得这个类的不同部分真正的不同。 但是,只要inheritance这个类,就不得不改变这个devise,因为扩展函数不能被覆盖。 我认为第二种方法是…有趣的。 有一件好事就是你不必注释每个私人财产和function作为私人,因为你可以指定的扩展。 然而,这种devise也分裂了存储和非存储的属性,公共和私人function,使得类的“逻辑”更难以遵循(我写小类)。 那和子类问题一起,让我在扩展仙境的门廊上停住了一点。 很想听听Swift社区如何看待扩展。 你怎么看? 有一个silverbullet?

iPad – 分析一个非常巨大的JSON – 文件(50和100 MB之间)

我试图parsing一个非常大的JSON文件在iPad上。 文件大小在50到100 MB之间(有一个初始文件,每个月会有一个新的全套数据,这些数据将被下载,parsing并保存到coredata中) 我正在为企业构build这个应用程序作为企业解决scheme–JSON文件包含敏感的客户数据,它需要保存在本地ipad,所以它将工作,即使离线。 当文件低于20MB时,它工作,但现在数据集变大了,我真的需要parsing它。 我在parsing过程中收到内存警告,并在第三次警告后,它只是崩溃。 我有几个不同的核心数据实体,我只是设置来自json文件(当应用程序第一次启动时)的所有值,并在所有事情完成后,我正在做[context save] 。 我希望有人能给我一些关于如何处理这些大文件的build议。 我正在考虑将json文件拆分成几个较小的json文件,并可能在多个线程中parsing它们,但是我不知道这是否是正确的方法。 我想一个大问题是整个文件被保存在内存中 – 也许有某种方式将它“stream”到内存或类似的东西? 我正在使用JSONKit( https://github.com/johnezang/JSONKit )parsing文件,因为我已经读过它是最快的一个(也许有一个更慢的内存更容易?)。 提前致谢。

工具栏的键盘inputAccessoryView“上一页”和“下一页”

我一直试图实现这个工具栏,其中只有“下一步”button被启用,当顶部textField是firstResponder,并且当底部textField是firstResponder时只有'Previous'button被启用。 这种工作方式,但发生的事情是我需要每次点击两次“上一页”/“下一页”button来启用/禁用反向button。 我是否在响应者链中错过了一些正在发生的事情? 这是我的代码: – (void)viewDidLoad { [super viewDidLoad]; [self.topText becomeFirstResponder]; } – (UIToolbar *)keyboardToolBar { UIToolbar *toolbar = [[UIToolbar alloc] init]; [toolbar setBarStyle:UIBarStyleBlackTranslucent]; [toolbar sizeToFit]; UISegmentedControl *segControl = [[UISegmentedControl alloc] initWithItems:@[@"Previous", @"Next"]]; [segControl setSegmentedControlStyle:UISegmentedControlStyleBar]; segControl.momentary = YES; segControl.highlighted = YES; [segControl addTarget:self action:@selector(changeRow:) forControlEvents:(UIControlEventValueChanged)]; [segControl setEnabled:NO forSegmentAtIndex:0]; UIBarButtonItem *nextButton = [[UIBarButtonItem alloc] initWithCustomView:segControl]; NSArray […]

iPhone Contact应用程序的详细信息视图是如何实现的

我想实现一个类似于苹果自己的联系人应用程序的详细视图,在那里显示名称,电话号码,备注等及其编辑模式的视图。 你能剖析整个观点是如何完成的吗? 用UITableView或UIScrollView完成该视图吗?