自定义推送通知的iOS权限对话框

当iOS应用首次尝试注册推送通知时,系统会popup一个权限对话框,询问用户是否有权接收推送通知。 是否可以自定义此对话框的文本,解释为什么这些权限正在寻求?

我可以从Swift中的SecKeyRef对象获取模数或指数吗?

在Swift中,我通过调用一些原始X509证书数据上的SecTrustCopyPublicKey创build了一个SecKeyRef对象。 这就是这个SecKeyRef对象的样子。 Optional(<SecKeyRef algorithm id: 1, key type: RSAPublicKey, version: 3, block size: 2048 bits, exponent: {hex: 10001, decimal: 65537}, modulus: <omitted a bunch of hex data>, addr: 0xsomeaddresshere>) 基本上,这个SecKeyRef对象包含了大量有关公钥的信息,但似乎没有办法将SecKeyRef实际转换为string, NSData或其他任何东西(这是我的目标,只是为了获得一个base64 public键)。 但是,我有一个函数,我可以给一个modulus和exponent ,它只会计算公钥是什么。 我已经通过传入从上面的SecKeyReflogging的数据来testing它。 但不知何故,我不能从SecKeyRef对象访问这些属性(我只能看到控制台中的整个对象;例如,我不能做SecKeyRef.modulus或类似的东西,似乎) 。 我的问题:我如何访问SecKeyRef.modulus ,或者,将此SecKeyRef转换为NSData或类似的东西? 谢谢 编辑 (了解更多信息) 我正在创build我的SecKeyRefdynamic,通过这个函数我有: func bytesToPublicKey(certData: NSData) -> SecKeyRef? { guard let certRef = SecCertificateCreateWithData(nil, certData) […]

删除NSString中的多个空格

我有一个NSString ,这有多个空格,我想修剪这些空格,并为@例如@“…….. …….你”做一个单独的空间到@“你好吗”(点只是空格) 我曾尝试过 NSString *trimmedString = [user_ids stringByTrimmingCharactersInSet: [NSCharacterSet whitespaceCharacterSet]]; 它似乎没有工作。 任何想法。

iOS中的path和url有什么区别?

在像NSFileManager这样的类中,几乎每种方法都有两个版本。 一个用于path,另一个用于URL。 有什么不同? 将URL转换为path的最佳做法是什么?

移动Safari多选错误

如果发现一个真正恼人的错误在当前(iOS 9.2)移动Safari(首先出现自iOS 7!) 如果您在移动Safari上使用多个select字段 – 如下所示: <select multiple> <option value="test1">Test 1</option> <option value="test2">Test 2</option> <option value="test3">Test 3</option> </select> 你将有自动select的问题! 在打开select(没有任何用户交互)之后,iOS会自动select第一个选项,但不会用蓝色select“检查”显示给您。 所以,如果你现在select第二个选项,select将告诉你,select了两个选项(但只高亮显示一个select)… 如果您现在closures并再次打开select,iOS将自动取消select第一个值 – 如果您重复,则会在没有任何用户交互的情况下再次select。 这真是一个恼人的系统错误,这是打破用户体验!

用于Force Touch / Digital Crown的WatchKit API?

我非常高兴Apple Watch引入了新的用户互动function,其中包括Force Touch和Digital Crown。 但是,我无法在WatchKit API中find它们的提及。 有没有办法接收Force Touch / Digital Crown的事件? 是否有可能为事件定制处理程序?

什么是在Swift中的java接口或目标c协议的等价物?

我一直在寻找新的Swift语言,在互联网上浏览和searchApple提供的书籍之后,试图findSwift中的接口(在java中)或协议(在objective-c中)的等价物,我似乎还无法find它。 有没有人知道这个组件在swift中的名称是什么,它的语法是什么?

如何在iOS上用MPMoviePlayerController或AVPlayer播放没有文件扩展名的电影文件?

我想在iPad上用iOS 4.3播放电影。 当文件名具有文件扩展名时,我已成功使用MPMoviePlayerController和AVPlayer从远程URL加载文件。 但是,当我使用不返回文件名的CDN(只是一个不可猜测的随机名)时,MPMoviePlayerController或AVPlayer似乎都无法应付。 有没有办法告诉任何一个玩家,它确实是一个xtypes的电影,它应该继续玩呢? MPMoviePlayerController将从其更改的状态通知中返回以下错误: { MPMoviePlayerPlaybackDidFinishReasonUserInfoKey = 1; error = "Error Domain=MediaPlayerErrorDomain Code=-12847 \"This movie format is not supported.\" UserInfo=0x5b60030 {NSLocalizedDescription=This movie format is not supported.}"; } 我知道这个文件是一个有效的m4v文件,因为当我重命名它一切都很好。

使用UIRefreshControl在TableView中移动标题

我的UIRefreshController做了一些奇怪的事情。 当我下拉刷新,tableView标题被移动。 如果我拉下来看起来不错,但是如果我在刷新工作的同时向下滚动表格,那么在UITableCells正常的情况下,标题将被刷新控件的高度所偏移,并在标题后面滚动。 我想避免创build一个tableViewController,所以我在viewDidLoad中执行以下操作: _refreshControl = [[UIRefreshControl alloc] init]; [_refreshControl addTarget:self action:@selector(refresh) forControlEvents:UIControlEventValueChanged]; [_tableView addSubview:_refreshControl]; 我有很多不同的视图控制器需要这个function的表。 有没有什么办法可以避免为每一个UITableViewController? 万分感谢!

停止iOS 7 MKMapView从内存泄漏

我注意到我的应用程序泄漏内存,但如果我把MKMapView出内存问题消失。 为了testing这个理论,我做了一个简单的死了的项目,这个项目有一个视图,用一个MKMapView在视图中popup并popup并推送。 而已。 在视图控制器没有代码,通过故事板完成。 如果我来回地图视图,它开始大约3MB后,推动和popup视图与地图在这个约15倍的内存是230MB左右。 其他人看到这个? 看起来像一个很大的错误。 有没有一种不同的方式来使用MKMapView ,以防止泄漏这么多?