小编Phi*_*tto的帖子

WebSocket Connection未使用SocketRocket关闭

我使用Objective-C的SocketRocket库连接到websocket:

-(void)open {

if( self.webSocket ) {
    [self.webSocket close];
    self.webSocket.delegate = nil;
}

self.webSocket = [[SRWebSocket alloc] initWithURLRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"ws://192.168.0.254:5864"] cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:20]];
self.webSocket.delegate = self;
[self.webSocket open];
}
Run Code Online (Sandbox Code Playgroud)

打开连接工作完全正常.建立连接后调用委托.

-(void)webSocketDidOpen:(SRWebSocket *)webSocket {

NSLog(@"WebSocket is open");

}
Run Code Online (Sandbox Code Playgroud)

但是,当我想关闭连接时,没有任何反应.

-(void)close {

if( !self.webSocket )
    return;

[self.webSocket close];
self.webSocket.delegate = nil;

}
Run Code Online (Sandbox Code Playgroud)

不会调用成功关闭连接的委托.谁能告诉我为什么会这样?

感谢您阅读我的问题.

connection objective-c websocket socketrocket

14
推荐指数
1
解决办法
6358
查看次数

XCode:来自PDF质量不佳的矢量图像

对于我的iOS Swift项目,我使用矢量化的pdf文件,XCode从这些文件呈现@ 1x,@ 2x,@ 3x图像.

矢量化PDF文件的XCode配置

当我将PDF生成的图像质量与相同大小的普通PNG图像进行比较时,我发现它们之间的质量差异很大.从理论上讲,下图中第一行和第三行的质量应该相同,因为我的iPhone 6上的54x40 PDF应该使用普通的视网膜显示器渲染和使用108x80图像.不幸的是质量远非平等.

在此输入图像描述

任何人都可以向我解释这些差异来自哪里,也许我可以如何提高生成图像的质量?

提前致谢.

vector-graphics ios xcode7

13
推荐指数
3
解决办法
3434
查看次数

iOS7中的自定义UIProgressView不可能吗?

我知道这已经被问过一百次,但我在其他问题上找不到合适的答案.

我的问题是我的UIProgressView的高度.虽然在iOS6中一切都按预期工作,但现在在iOS7中没有什么是正确的.

我尝试了以下方法:

  • 1.在drawRect-Method中设置自定义布局:

就像iOS6中的魅力一样,但在iOS7中,进度从一开始就设置为100%,或者条形非常薄.

  • 2.使用UIProgressView外观的progressImagetrackImage属性设置布局

也不能在iOS7下工作.这里的栏进度也从一开始就设定为100%.有些人写道应该可以这样,但我无法确认iOS7.

  • 3.使用initWithProgressStyle进行初始化,然后设置进度视图的框架

在iOS6和iOS7下不适用于我.在iOS7中,酒吧非常纤薄.

对我来说,这是非常令人沮丧的,因为酒吧要么是100%,要么是超薄.任何人都可以给我一个建议,以达到我的进度视图的旧布局.我认为它必须是可能的,因为如果我在iPhone(安装了iOS7)上查看我的Spotify应用程序,进度视图就像之前一样.

在此输入图像描述

非常感谢你!

objective-c uiprogressview ios7

10
推荐指数
1
解决办法
8458
查看次数

iOS 7中缺少系统"tock"声音

在iOS 6中,我使用了这一行:

NSString *path  = [[NSBundle bundleWithIdentifier:@"com.apple.UIKit"] pathForResource:@"Tock" ofType:@"aiff"];
Run Code Online (Sandbox Code Playgroud)

获得系统tock声音的路径.一切都很好.现在,自iOS 7以来,(null)作为路径返回.

谁能告诉我tock声音发生了什么?

我已经尝试重新链接UIKit.framework库并得到了相同的结果.我几乎找不到这条线改变结果的原因.

谢谢你的帮助!

audio ios ios7

8
推荐指数
2
解决办法
3336
查看次数

AlamofireImage磁盘缓存无法正常工作

我想使用AlamofireImage从URL下载图像,然后将其缓存在设备磁盘空间.我阅读了几篇关于此的帖子,发现AlamofireImage在ImageDownloader类的帮助下支持这一点.在这个SO答案中给出最有趣的信息

因此,我尝试为ImageDownloader设置自定义NSURLCache,以便将图像直接缓存到磁盘.我通过将内存容量设置为0来实现.然后我使用此自定义ImageDownloader下载图像.我为磁盘路径指定的文件夹是在磁盘上创建的,但不幸的是它保持为空并且图像不会以任何方式缓存.

**编辑:**重要的是要注意缓存的响应不会保存在缓存目录的文件夹中,而是保存在文件夹旁边的数据库文件中.

谁能告诉我这里我做错了什么?非常感谢阅读!

func diskImageDownloader(diskSpaceMB: Int = 100) -> ImageDownloader {

    let diskCapacity = diskSpaceMB * 1024 * 1024
    let diskCache = NSURLCache(memoryCapacity: 0, diskCapacity: diskCapacity, diskPath: "alamofireimage_disk_cache")
    let configuration = NSURLSessionConfiguration.defaultSessionConfiguration()
    configuration.URLCache = diskCache
    let downloader = ImageDownloader(configuration: configuration)
    UIImageView.af_sharedImageDownloader = downloader

    return downloader
}

func getProfileImage(atURL url: String, onComplete: SRServiceResponse<UIImage> -> Void) {
    guard let imageURL = NSURL(string: url) else
    {
        // TODO: Fail here
        return
    }

    let request = NSURLRequest(URL: …
Run Code Online (Sandbox Code Playgroud)

ios swift alamofire alamofireimage

7
推荐指数
2
解决办法
1677
查看次数

同时使用Firebase和HockeyApp时,没有HockeyApp崩溃报告

在我们的iOS应用中,我们使用HockeyApp SDK和Firebase SDK.

我们在启动时直接在AppDelegate中初始化:

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {  

    BITHockeyManager.sharedHockeyManager().configureWithIdentifier(hockeyAppId);
    BITHockeyManager.sharedHockeyManager().startManager();
    BITHockeyManager.sharedHockeyManager().authenticator.authenticateInstallation();

    FIRApp.configure()

    [...]
}
Run Code Online (Sandbox Code Playgroud)

问题是,当我们不激活Firebase时,我们的崩溃报告会正确发送到HockeyApp,一切正常.但是当我们激活Firebase时,在HockeyApp方面的崩溃报告中没有任何反应.

为什么会这样?Firebase是否可能阻止HockeyApp发送崩溃报告?怎么可能解决这个问题呢?

信息:我知道HockeyApp不会使用附加的调试器发送崩溃报告.

非常感谢阅读!

ios firebase hockeyapp swift3

3
推荐指数
1
解决办法
272
查看次数