众所周知,UIImagePickerController在选择后不会返回照片的元数据.但是,应用程序商店中的一些应用程序(Mobile Fotos,PixelPipe)似乎能够读取原始文件和存储在其中的EXIF数据,使应用程序能够从所选照片中提取地理数据.
他们似乎是通过从/ private/var/mobile/Media/DCIM/100APPLE /文件夹中读取原始文件并通过EXIF库运行它来完成此操作.
但是,我无法找到一种方法来匹配从UIImagePickerController返回的照片到磁盘上的文件.我已经探索了文件大小,但原始文件是JPEG,而返回的图像是原始UIImage,因此无法知道所选图像的文件大小.
我正在考虑制作一个哈希表并匹配每个图像的前x个像素.虽然这看起来有点过头了,但可能很慢.
有什么建议?
我正在尝试升级应用程序(Clarke)以提供10.6兼容性.
我的计划是使用两种不同的代码路径,具体取决于所使用的OSX版本.
在10.5上它将使用一个控制器,它由完全自定义代码组成,不依赖于任何特定的Cocoa API.在10.6上,它将使用另一个控制器,它根据相同的抽象类将新的CoreLocation API包装在一个相同的接口中.在运行时,应用程序将通过检测操作系统版本在控制器之间切换.
这在10.6 SDK上构建的10.6上运行良好,但同样的构建在10.5上爆炸:
10/09/2009 18:30:50 [0x0-0x12f12f].uk.co.tomtaylor.Clarke[4575] dyld: unknown required load command 0x80000022
10/09/2009 18:30:51 com.apple.launchd[403] ([0x0-0x12f12f].uk.co.tomtaylor.Clarke[4575]) Exited abnormally: Trace/BPT trap
Run Code Online (Sandbox Code Playgroud)
如果我构建10.5 SDK,显然无法编译CoreLocation.
我希望能够为这个应用程序提供单个二进制文件.有没有办法从10.5中"隐藏"CoreLocation API?
我在Cocoa应用程序中有一系列屏幕外NSView,用于组合PDF进行打印.这些观点不在NSWindow中,也不以任何方式显示.
我希望能够生成该视图的缩略图,就像PDF看起来一样,但缩小到适合某个像素大小(约束到宽度或高度).这需要尽可能快,所以我想避免渲染为PDF,然后转换为光栅和缩放 - 我想直接去光栅.
目前我正在做:
NSBitmapImageRep *bitmapImageRep = [pageView bitmapImageRepForCachingDisplayInRect:pageView.bounds];
[pageView cacheDisplayInRect:pageView.bounds toBitmapImageRep:bitmapImageRep];
NSImage *image = [[NSImage alloc] initWithSize:bitmapImageRep.size];
[image addRepresentation:bitmapImageRep];
Run Code Online (Sandbox Code Playgroud)
这种方法运行良好,但我无法弄清楚如何在渲染bitmapImageRep之前将缩放应用于NSView.我想避免使用scaleUnitSquareToSize
,因为据我所知,它只会改变边界,而不是NSView的框架.
有关最佳方法的任何建议吗?
我正在开发一个运行LSUIElement集的OSX应用程序(Clarke)(仅限系统菜单 - 没有托盘图标,不会出现在cmd-tab中).
它工作得很好,但有人只是指出它在Activity Monitor列表中有一个空白的进程名称.什么也没说.其他所有东西都有一个名字.甚至其他应用程序运行在LSUIElement.
我试图在网上搜索,但我找不到有人在谈论这个.我到底应该寻找什么?
我有一个命名Supervisor
,监督许多simple_one_for_one
工作人员,他们定期为我的系统上的每个用户执行任务.
我希望应用程序Supervisor
在第一次启动时为每个用户启动一个worker ,并且我希望应用程序Supervisor
在以后重新启动时执行相同操作,无论出于何种原因.
目前,我动态地启动所有的孩子中Application
的start(type, args)
回调,但如果Supervisor
重新启动,不会启动所有的子进程.
如何确保所有动态子工作程序在Supervisor
启动/重新启动后立即启动?
(我的应用程序在Elixir中,但同样的原则适用于Erlang.)
cocoa ×3
macos ×3
objective-c ×2
cocoa-touch ×1
elixir ×1
erlang ×1
erlang-otp ×1
exif ×1
gps ×1
iphone ×1
nsview ×1
osx-leopard ×1
process ×1
xcode ×1
xcodebuild ×1