接收udp广播数据包ios

我几乎完成了与iOS客户端为我的REST服务。 我唯一缺less的是客户端在networking上侦听接收主机显示名称和基本URL上传的UDP广播的能力。 networking上可能有多个服务器正在广播并等待上传。 asynchronous是首选。 服务器将在设备发现它们时显示给用户,并且我希望用户能够在任何时间点select服务器。 广播公司正在发送到255.255.255.255,并没有期望任何数据回来。 我是客观的初学者,所以简单易用是最好的。

检测用户何时开始录像

我有一个UIImagePickerController,我用它来loggingvideo。 现在我想检测用户点击录制button。 代表不提供任何这样的callback。 有没有什么好的方法可以找出录像的时间?

iPhone上的PhoneGap不会加载外部脚本

我目前正在使用PhoneGap(iOS)编写一个简单的应用程序,并在模拟器中运行它。 问题是外部URL似乎拒绝加载。 例如使用CDN的jQuery <script type="text/javascript" charset="utf-8" src="http://code.jquery.com/jquery-1.7.min.js"></script> 不会使$ / jQuery可用。 当尝试使用它时,同样的问题正在发生。 有什么我需要改变,以使其工作?

带有SearchController的TableView – DEINIT不被调用

我已经添加了一个search栏和search显示控制器从界面生成器到我的应用程序。 我无法正确地取消(dealloc)。 它显示了以下行为(swift2,ios9): 用户不search任何东西,只要从tableView中select一个项目, 调用DEINIT 用户search的东西(或只是在search栏中点击),取消search,从tableView中select项目, 调用DEINIT 用户search的东西(或只是点击search栏),并从tableView中select一个项目, DEINIT不被称为 🙁 如果我在导航控制器中select“返回”而不是select一个项目,则会发生同样的情况。 code removed – refer to COMPLETE CODE at bottom of post. 任何帮助感激! 更新进一步的testing显示,从视图控制器中删除progressHud / loadingHud完全不影响DEINIT没有被调用。 它必须是与tableview或searchcontroller本身有关… 更新2我已经尝试在我的viewWillDissapear调用searchBarCancelButtonClicked()方法,它仍然不释放。 即使如果你点击“取消”,然后离开它不… 更新3更改willDisappear / didDisappear到以下对DEINIT没有影响 – 但不会给出越野车接口问题(感谢Polina)。 我正在努力将任何我能得到释放,但没有运气到目前为止。 override func viewWillDisappear(animated: Bool) { super.viewWillDisappear(true) searchBarCancelButtonClicked(searchController.searchBar) } override func viewDidDisappear(animated: Bool) { print("View did disappear") searchController.searchBar.resignFirstResponder() searchController.searchBar.endEditing(true) searchController.active = […]

如何使ios图表分组BarChart?

我正在使用ios图表库。 我想将我的逆变器值分组,以便每年都是一个组。 不幸的是,每年每月的价值数量可能会有所不同。 我的数据json看起来像这样: {"monthlyData":[{"ERTRAG":"30.2989999055862","MONAT":"2","JAHR":"2016"},{"ERTRAG":"154.897000223398","MONAT":"1","JAHR":"2016"},{"ERTRAG":"141.996000155807","MONAT":"12","JAHR":"2015"},{"ERTRAG":"135.449000149965","MONAT":"11","JAHR":"2015"},{"ERTRAG":"319.437000751495","MONAT":"10","JAHR":"2015"},{"ERTRAG":"483.369997739792","MONAT":"9","JAHR":"2015"},{"ERTRAG":"698.112997770309","MONAT":"8","JAHR":"2015"},{"ERTRAG":"771.764000892639","MONAT":"7","JAHR":"2015"},{"ERTRAG":"736.611003398895","MONAT":"6","JAHR":"2015"},{"ERTRAG":"737.237999916077","MONAT":"5","JAHR":"2015"},{"ERTRAG":"720.181995391846","MONAT":"4","JAHR":"2015"},{"ERTRAG":"484.979001283646","MONAT":"3","JAHR":"2015"},{"ERTRAG":"249.974001646042","MONAT":"2","JAHR":"2015"},{"ERTRAG":"92.8830004036427","MONAT":"1","JAHR":"2015"},{"ERTRAG":"52.7970000207424","MONAT":"12","JAHR":"2014"},{"ERTRAG":"181.025999426842","MONAT":"11","JAHR":"2014"},{"ERTRAG":"332.789002537727","MONAT":"10","JAHR":"2014"},{"ERTRAG":"482.244999885559","MONAT":"9","JAHR":"2014"},{"ERTRAG":"602.811999320984","MONAT":"8","JAHR":"2014"},{"ERTRAG":"699.872003316879","MONAT":"7","JAHR":"2014"},{"ERTRAG":"828.212007522583","MONAT":"6","JAHR":"2014"},{"ERTRAG":"679.010004997253","MONAT":"5","JAHR":"2014"},{"ERTRAG":"635.115998744965","MONAT":"4","JAHR":"2014"},{"ERTRAG":"559.617002010345","MONAT":"3","JAHR":"2014"},{"ERTRAG":"265.135001063347","MONAT":"2","JAHR":"2014"},{"ERTRAG":"165.272998273373","MONAT":"1","JAHR":"2014"},{"ERTRAG":"134.578999936581","MONAT":"12","JAHR":"2013"},{"ERTRAG":"153.774000287056","MONAT":"11","JAHR":"2013"},{"ERTRAG":"321.733997344971","MONAT":"10","JAHR":"2013"},{"ERTRAG":"482.768000483513","MONAT":"9","JAHR":"2013"},{"ERTRAG":"692.864000797272","MONAT":"8","JAHR":"2013"},{"ERTRAG":"846.429007053375","MONAT":"7","JAHR":"2013"},{"ERTRAG":"709.758005619049","MONAT":"6","JAHR":"2013"},{"ERTRAG":"532.493996858597","MONAT":"5","JAHR":"2013"},{"ERTRAG":"462.539998054504","MONAT":"4","JAHR":"2013"},{"ERTRAG":"419.105004012585","MONAT":"3","JAHR":"2013"},{"ERTRAG":"143.189998820424","MONAT":"2","JAHR":"2013"},{"ERTRAG":"78.720000628382","MONAT":"1","JAHR":"2013"},{"ERTRAG":"90.1430006623268","MONAT":"12","JAHR":"2012"},{"ERTRAG":"155.483000457287","MONAT":"11","JAHR":"2012"},{"ERTRAG":"348.231998205185","MONAT":"10","JAHR":"2012"},{"ERTRAG":"598.037001848221","MONAT":"9","JAHR":"2012"},{"ERTRAG":"729.740003108978","MONAT":"8","JAHR":"2012"},{"ERTRAG":"676.923998832703","MONAT":"7","JAHR":"2012"},{"ERTRAG":"694.879002094269","MONAT":"6","JAHR":"2012"},{"ERTRAG":"811.281997680664","MONAT":"5","JAHR":"2012"},{"ERTRAG":"489.765002369881","MONAT":"4","JAHR":"2012"},{"ERTRAG":"538.866001605988","MONAT":"3","JAHR":"2012"},{"ERTRAG":"277.856996208429","MONAT":"2","JAHR":"2012"},{"ERTRAG":"155.854999214411","MONAT":"1","JAHR":"2012"},{"ERTRAG":"148.157999750227","MONAT":"12","JAHR":"2011"},{"ERTRAG":"230.409998774529","MONAT":"11","JAHR":"2011"}]} 我尝试了以下内容: var months = Array<String>() var years = Array<String>() var dataEntries: [BarChartDataEntry] = [] var dataSets: [BarChartDataSet] = [] var overallSum = 0.0 var year = 2010 //monthlyValues[0].year var count = 0 var chartDataSet: BarChartDataSet? for i in 0..<monthlyValues.count { // if year is different, create new barchartdataset if monthlyValues[i].year […]

是否有可能使用ios中的安全框架生成证书签名请求(.csr)?

我想要使​​用服务器的https请求客户端证书身份validation。 我看着这个NSURLConnection身份validation挑战创build一个SecCertificateRef 。 它按预期工作。 但是,需要准备包含私钥的p12文件。 它会被securied,因为它需要使用SecPKCS12Import()导入p12文件的密码。 但是,可以有其他的select。 这就是ios客户端应该做一个证书签名请求(.CSR),让第三方(这将是服务器)签名。 对于我的search,我看到我可以使用SecKeyGeneratePair()生成密钥对。 但是我没有看到任何生成CSR的API。 这是否真的需要openssl来实现呢? 另外,有一点closures的话题,一旦ios客户端以某种方式取回签名的证书。 我可以使用SecCertificateCreateWithData()来检索一个SecCertificateRef() 。 但要填写NSURLCredential 。 我还需要使用SecPKCS12Import()从p12文件来的SecPKCS12Import() 。 我怎样才能retreve SecIdentityRef没有SecPKCS12Import()而只是像crt或der证书文件?

UICollectionView在iOS中删除单元格的animation时间

我正在使用集合视图为第一次我需要删除点击集合视图单元格,这是适合我的工作。但我挣扎着UIcollectionview的animation时间。它总是相同的。我怎样才能增加或减less删除单元格的animation时间。我也把这个代码在uianimation块,但它不工作。 这是我的代码删除,任何意见将不胜感激。 [self.collectionView performBatchUpdates:^{ NSArray* itemPaths = [self.collectionView indexPathsForSelectedItems]; // Delete the items from the data source. [self deleteItemsFromDataSourceAtIndexPaths:itemPaths]; // Now delete the items from the collection view. [self.collectionView deleteItemsAtIndexPaths:tempArray } completion:nil];

UITextView可在iOS5上编辑,但不能在iOS6上编辑

我的应用程序中有几个UITextViews。 由于我已经从XCode 4.5开始构build,所以UITextView在iOS6中是不可编辑的,但是它构build在iOS5设备上,它们是完全可编辑的。 代码还没有改变,我开始使用iOS6。 自从iOS4以来,XIB就已经出现了 症状是… iOS6的 可以提高键盘轻敲和删除字符,但不能input任何其他内容 用键盘隐藏键可以降低键盘。 iOS5的 可以通过点击提高键盘并完全编辑。 用键盘隐藏键可以降低键盘。 我很困惑。 textViewDidBeginEditing:被击中,所以我知道它的连线正确。

两个视图控制器之间的快速代表没有segue

我的委托协议从来没有调用 我的第一个控制器 – ViewController class ViewController: UIViewController,testProtocol { @IBAction func btInit(sender: AnyObject) { println("Bt Init") let storyBoard : UIStoryboard = UIStoryboard(name: "Main", bundle: nil) let initViewController: UIViewController = storyBoard.instantiateViewControllerWithIdentifier("viewTarget") as targetViewController self.presentViewController(initViewController,animated: false, nil) } var targetController = targetViewController(); override func viewDidLoad() { super.viewDidLoad() self.targetController.delegate = self } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose […]

无法解密通过iPhone上的OpenSSL编码的数据

对我之前的问题的一种跟进: 如何从OpenSSLencryption数据获得初始化向量(iv) 我正在使用OpenSSL命令行工具来encryption一个string,然后尝试使用<CommonCrypto/CommonCryptor.h>来解密iPhone上的string。 使用Dropbox SDK,将带有encryptionstring的xml文件加载到iPhone上,在那里我的应用程序试图parsing和解密此文件中的string。 这是openssl命令的一个例子: printf %s "Hello" | openssl enc -aes-128-cbc -K 00ff349830193845af43984758690213 -iv 0 -base64 上面的base 64string放在一个XML文件中,然后由应用程序parsing。 我正在使用Matt Gallagher的NSData来解码base64文本。 我假设这工作正常; 我还没有真正find一个testing它的好方法。 (来源: http : //cocoawithlove.com/2009/06/base64-encoding-options-on-mac-and.html )。 以下是解密encryptionstring的方法。 关键是在这种情况下的NSString等于@"00ff349830193845af43984758690213" 。 + (NSString *)string:(NSString *)encryptedString withAES128Key:(NSString *)key { // decode base64, from Matt Gallagher's NSData category NSData *b64DecodedData = [NSData dataFromBase64String:encryptedString]; NSData *keyData = […]