我正在寻找一种方法来减少我使用Quartz生成的PDF大小.我在CGPDFContext中使用CGContextDrawImage绘制图像.我担心的是图像被保存为Bitmap而不是JPEG.有没有办法检查这个以及在编写PDF时控制它的方法?
我还尝试在将图像写入PDF上下文之前减少缩小图像,但最终得到的文件更大(尽管页面大小以像素为单位).
谢谢!
从实验和阅读其他类似的帖子来看,似乎很难在Android上处理高分辨率图像,因为VM允许分配的内存数量有限.
加载800万像素摄像头图片需要大约20 MB的内存.
我知道简单的解决方案是在加载图像时对图像进行下采样(BitmapFactory提供这样的选项)但我仍然希望以全分辨率处理图像:相机拍摄8MP,为什么我只使用4MP并降低质量.
有谁知道这方面的好的解决方法?
我一直试图使用webmock来存储多部分请求并且没有找到令人满意的解决方案.
理想情况下,我想将请求存根如下:
stub_request(:post, 'http://test.api.com').with(:body => { :file1 => File.new('filepath1'), file2 => File.new('filepath2') })
Run Code Online (Sandbox Code Playgroud)
但是,这似乎不起作用,RSpec抱怨请求没有被删除.打印非存根请求:
stub_request(:post, "http://test.api.com").
with(:body => "--785340\r\nContent-Disposition: form-data; name=\"file1\"; filename=\"filepath1\"\r\nContent-Type: text/plain\r\n\r\nhello\r\n--785340\r\nContent-Disposition: form-data; name=\"file2\"; filename=\"filepath2\"\r\nContent-Type: text/plain\r\n\r\nhello2\r\n--785340\r\n",
:headers => {'Accept'=>'*/*; q=0.5, application/xml', 'Accept-Encoding'=>'gzip, deflate', 'Content-Length'=>'664', 'Content-Type'=>'multipart/form-data; boundary=785340', 'User-Agent'=>'Ruby'}).
to_return(:status => 200, :body => "", :headers => {})
Run Code Online (Sandbox Code Playgroud)
当然,我不能真正遵循这个建议,因为边界是动态生成的.知道如何正确存根这些请求吗?
谢谢!布鲁诺
我一直在与下面的堆栈跟踪作斗争.我无法重现这个问题,但我知道它发生在很多用户身上(Crashlytics).
Crashed: com.apple.main-thread
EXC_BAD_ACCESS KERN_INVALID_ADDRESS at 0x0000000000000010
Thread : Crashed: com.apple.main-thread
0 libobjc.A.dylib 0x0000000194187bd0 objc_msgSend + 16
1 UIKit 0x000000018860639c -[UITableView _createPreparedCellForGlobalRow:withIndexPath:willDisplay:] + 544
2 UIKit 0x00000001885fafc4 -[UITableView _updateVisibleCellsNow:isRecursive:] + 2360
3 UIKit 0x00000001883f0c60 -[UITableView layoutSubviews] + 172
4 UIKit 0x000000018830d874 -[UIView(CALayerDelegate) layoutSublayersOfLayer:] + 572
5 QuartzCore 0x0000000187c65d58 -[CALayer layoutSublayers] + 168
6 QuartzCore 0x0000000187c60944 CA::Layer::layout_if_needed(CA::Transaction*) + 320
7 QuartzCore 0x0000000187c607e8 CA::Layer::layout_and_display_if_needed(CA::Transaction*) + 32
8 QuartzCore 0x0000000187c5ffe8 CA::Context::commit_transaction(CA::Transaction*) + 276
9 QuartzCore 0x0000000187c5fd6c CA::Transaction::commit() + 436
10 UIKit 0x0000000188304848 _afterCACommitHandler …Run Code Online (Sandbox Code Playgroud) 当用户在表视图中选择行时,我正在尝试向项添加复选标记.但是,视图未刷新且复选标记不显示:
- (void)tableView:(UITableView *)tv didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell* oldCell = [self tableView:tv cellForRowAtIndexPath:[NSIndexPath indexPathForRow:selectedIndex inSection:0]];
oldCell.accessoryType = UITableViewCellAccessoryNone;
if (indexPath.section == 0) {
selectedIndex = indexPath.row;
}
UITableViewCell* newCell = [self tableView:tv cellForRowAtIndexPath:indexPath];
newCell.accessoryType = UITableViewCellAccessoryCheckmark;
[tv deselectRowAtIndexPath:indexPath animated:NO];
}
Run Code Online (Sandbox Code Playgroud)
可能是什么原因?
我对我的模型进行了一些更改(但我还不想迁移,所以我只删除应用程序,构建干净等)
但是,当我在iPhone或模拟器上运行它时,我收到以下错误:
***由于未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:'executeFetchRequest:error:获取请求必须有一个实体.
我像这样设置实体:
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Document" inManagedObjectContext:managedObjectContext];
Run Code Online (Sandbox Code Playgroud)
我的managedObjectContext不是nil.但我怀疑它没有正确加载对象模型或类似的东西,因为如果我在模型中显示实体,列表为空:
managedObjectModel = [[NSManagedObjectModel mergedModelFromBundles:nil] retain];
NSLog(@"%d", [[managedObjectModel entities] count]);
Run Code Online (Sandbox Code Playgroud)
如何确保加载模型?
我正在尝试在iOS 8上使用新的TestFlight但是我收到以下错误:当用户(我自己)点击TestFlight应用程序中的Install按钮时,"为安装请求指定了无效的应用程序".
我在iTunesConnect中完成了应用程序的配置,设置了内部测试人员(包括我自己)并发送了邀请.然后我用iOS 8 GM在我的iPhone上打开了邀请; TestFligh应用程序打开,显示邀请和安装按钮.这是我点击安装时看到错误消息的位置.
有没有人一直面临这个问题?
谢谢!
我有一个带有搜索按钮的搜索表单。当用户输入所有搜索输入字段并按下搜索按钮时,将仅返回同一页面中 html 表中的前 10 条记录。我已经做到了这一点。
当用户按下下一页按钮时,我必须保留用户输入的值并将其发送到数据库并获取接下来的 10 条记录。
当我按下搜索按钮(第一篇http帖子)时,视图模型具有用户输入的所有值,但是当我按下下一页按钮(第二篇帖子)时,视图模型不会保留用户在搜索中输入的值输入字段。
建议我不要使用临时数据将值从一个操作传递到另一操作。还有其他方法可以做到这一点吗?
当我的应用程序进入后台时,GCDWebServer (3.3.3) 发生崩溃:
#3 0x000000010041ea80 in -[GCDWebServer dealloc] at project/Pods/GCDWebServer/GCDWebServer/Core/GCDWebServer.m:221
#4 0x00000001004248b8 in __destroy_helper_block_ ()
#5 0x000000018dd52a28 in _Block_release ()
#6 0x00000001020ad21c in _dispatch_client_callout ()
#7 0x00000001020b2284 in _dispatch_main_queue_callback_4CF ()
#8 0x000000018ee21f2c in __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ ()
#9 0x000000018ee1fb18 in __CFRunLoopRun ()
#10 0x000000018ed4e048 in CFRunLoopRunSpecific ()
#11 0x00000001907d1198 in GSEventRunModal ()
#12 0x0000000194d28628 in -[UIApplication _run] ()
#13 0x0000000194d23360 in UIApplicationMain ()
#14 0x000000010009243c in main at project/main.m:10
#15 0x000000018dd305b8 in start ()
Enqueued from com.apple.main-thread (Thread 1)Queue : com.apple.main-thread (serial) …Run Code Online (Sandbox Code Playgroud) ios ×4
crash ×2
iphone ×2
uitableview ×2
android ×1
asp.net-mvc ×1
bitmap ×1
cocoa-touch ×1
core-data ×1
gcdwebserver ×1
image ×1
ios8 ×1
objective-c ×1
pdf ×1
quartz-2d ×1
rest-client ×1
rspec ×1
ruby ×1
sinatra ×1
testflight ×1
webmock ×1
xcode6 ×1