iPhone / iOS:如何获取我的应用程序本地化的所有语言的本地化string列表?

我需要向我的服务器发送特定string的本地化列表。 意思是说,如果我的应用程序有一个stringFoo,它被本地化为@“Foo”英文和@“Фу”俄文,我想发送一个列表如下: stringFoo: 英语:“Foo” 俄语:“Фу” 我认为我需要做的是: 枚举我的应用程序本地化的每种语言的本地化string 获取每种语言的Foo的本地化版本 我该怎么做(1),我该怎么做(2)?

PhoneGap和iPhone 5:删除顶部和底部的黑色条纹

我正在使用PhoneGap为iOS构build移动应用程序。 最近,我下载了新的Xcode,并在iPhone5模拟器上运行应用程序。 该应用程序运行良好,但有两个黑色的条纹和应用程序的底部和顶部。 我知道这是苹果公司向后兼容不适用于iPhone 5的4英寸屏幕的旧应用程序的方式。 是否有可能使PhoneGap应用充分利用新的4英寸屏幕iPhone 5?

如何以编程方式解除UIAlertController没有任何button?

我提出一个UIAlertViewController没有任何button,因为它应该只是通知用户正在进行上传。 该应用程序应该上传一些文件到Amazon S3(有些事情发生在并行线程上),恐怕当我想解雇它的时候,对alert视图控制器的引用会丢失。 任何想法可能是错的? 我甚至不知道如何debugging,因为在debugging区没有错误? 我有一个类级别的属性: var uploadInProgressAlert = UIAlertController() 我使用此代码来显示我的警报没有button(它的工作原理): self.uploadInProgressAlert = UIAlertController(title: "Uploading", message: "Please wait.", preferredStyle: .Alert) self.presentViewController(self.uploadInProgressAlert, animated: true, completion: nil) 此代码是closures警报(警报不会被驳回): self.uploadInProgressAlert.dismissViewControllerAnimated(false, completion: nil) 在这个线程: iOS解雇UIAlertController响应某人谈论“持有参考”的事件。 我不知道这意味着什么“保持参考”,我认为这可能是问题的根源。 编辑:我已经把上面的代码在一个简单的testing应用程序,它在那里工作。 但是,当一些并行线程变得复杂时,我无法find解决警报的方法。 var delay4s = NSTimer() var delay8s = NSTimer() var alert = UIAlertController() func showAlert() { if NSClassFromString("UIAlertController") != nil { alert […]

用prepareForSegue Swift传递对象

我正在尝试通过prepareForSegue()将对象传递给另一个场景 override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { // Get the new view controller using [segue destinationViewController]. var nextScene = segue.destinationViewController as! VehicleDetailsTableViewController // Pass the selected object to the new view controller. if let indexPath = self.tableView.indexPathForSelectedRow() { let selectedVehicle = vehicles[indexPath.row] nextScene.currentVehicle = selectedVehicle } } 我有currentVehicle对象来捕捉这些对象。 但是,当我尝试运行时,它会导致向下转换错误。 错误编辑 无法将types“XXX.DisplayViewController”(0x1082dcd80)的值转换为“XXX.VehicleDetailsTableViewController”(0x1082dc9a0)。 (LLDB)

替代iPhone设备ID(UDID)

可能重复: UIDevice uniqueIdentifier已弃用 – 现在该做什么? 即使苹果不是在巴塞罗那的MWC(移动世界大会),也有确保获得deviceID将在更进一步的iOS SDK中被弃用。 我不明白苹果为什么要限制这一点,但这不是话题。 我必须准备我的应用程序替代,因为我的用户被识别和更好地使用我的应用程序(例如不需要login或创build一个帐户)已知。 在这种情况下,我确信我并不孤单。 所以有人知道从获得deviceID的替代? 还有其他的唯一标识符,比如MAC地址吗? 你如何准备你的应用程序?

从本地iOS应用程序查询SQL Server数据库

我正在开发一个内部的iOS应用程序,它将需要对具有多个数据库的SQL Server进行只读访问。 我知道这里的股票答案是“写一些networking服务”,但我想要一个自包含的解决scheme。 有什么办法从iOS应用程序直接连接到SQL Server数据库? 我在想像一个基本的ODBC连接。 我看到很多用户提出这个问题,但除了“编写Web服务”之外,其他答案却很less。 这真的是唯一的方法吗?

如何访问Xcode 6中的生成设置?

如何访问构build设置variables(即为不同的Debug与Release环境定义Web服务的基本URL)似乎有很多变化。 我在Project – > Building Settings中创build了一个User-Definedvariables,每个环境一个。 我们称之为WEB_SERVICE_BASE_URL 。 我如何在代码中访问它? 我正在使用XCode 6和Swift。 我试过这个,但是不起作用 let api_key = ${WEB_SERVICE_BASE_URL} 我也试过这个,也不起作用 let api_key = NSUserDefaults.standardUserDefaults().stringForKey("WEB_SERVICE_BASE_URL") 有什么build议么? 这似乎是一个经常需要的解决scheme,在Rails中非常容易,但在iOS开发中却不那么容易。

iOS:在构build阶段更改info.plist

我正在尝试执行以下操作: 在构build阶段,打开一个纯文本文件并阅读文本 将info.plist中的属性值更改为步骤1中获取的值。 我可以写一个shell脚本吗? 如果有人能指导我实现这一点,那将是非常棒的。

确定用户是否启用了应用程序的Safari内容阻止程序扩展

我正在处理Safari内容阻塞扩展 。 如果扩展function被禁用,我打算显示设置说明,如果反向启用则显示设置。 如何确定用户是否启用了扩展? 我已经看到这种方法来检测自定义键盘是否被激活,但NSUserDefaults没有与Safari Content Blockers相关的键。

不推荐使用iOS9的sendSynchronousRequest

警告:在iOS 9.0中不推荐使用“sendSynchronousRequest(_:returningResponse :)”:使用[NSURLSession dataTaskWithRequest:completionHandler:](请参阅NSURLSession) urlData = try NSURLConnection.sendSynchronousRequest(request, returningResponse:&response) 任何想法如何摆脱这个警告? 我刚刚从Swift 1.2升级到Swift 2 更新:Fonix被标记为我最好的答案。 如果你试图添加一个try语句,我修改他的答案如下: urlData = try NSURLSession.dataTaskWithRequest(<#request: NSURLRequest#>, completionHandler: <#((NSData!, NSURLResponse!, NSError!) -> Void)?##(NSData!, NSURLResponse!, NSError!) -> Void#>)