我想知道是否有任何方法可以改进iOS中程序员和设计人员的工作流程,而无需记录源代码控制或代码。
目前我有一位设计师与我合作,感觉代码和源代码控制都不合适。然后,每次他想在应用程序中间看到资源时,我都必须重新编译。
我可以使用Web服务,只获取每次应用程序启动时更改的资源。但是,我觉得如果他改变大约10个10-20兆的视频(例如新的压缩测试),这个解决方案会令人沮丧。
在Windows 8中,我可以使用库文件夹中的资源创建一个文件夹,他可以访问它并替换资源。然后,应用程序可以加载该文件夹中的所有资源。但我在iOS中可以做些什么?没有SD卡(或外部硬盘驱动器),我认为我不能将资源放在一个文件夹中并将它们加载到应用程序中。
答案 0 :(得分:3)
对我来说,我会通过将UIFileSharingEnabled
添加到Info.plist
然后我用自定义方法包装我的调用来加载资源,例如:
- (NSString *)pathForImage:(NSString *)imageName
{
// Somewhere like this:
// /var/mobile/Applications/01234567-89AB-CDEF-0123-456789ABCDEF/Documents/images/
NSString *imagesPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
imagesPath = [imagesPath stringByAppendingPathComponent:@"images"];
NSString *path = [imagesPath stringByAppendingPathComponent:imageName];
if ([[NSFileManager defaultManager] fileExistsAtPath:path])
{
return path;
}
else
{
NSString *fileName = [imageName stringByDeletingPathExtension];
NSString *fileExt = [imageName pathExtension];
return [[NSBundle mainBundle] pathForResource:fileName ofType:fileExt];
}
}
从
更改我的图片加载代码[UIImage imageNamed:@"foo.png"];
到
[UIImage imageWithContentsOfFile:[self pathForImage:@"foo.png"]];
下次当设计师想要更新资源时,他/她可以打开iTunes并将新文件拖放到您的应用中。 有关iTunes文件共享的更多信息,请查看Apple's documentation。
更新:如果您的应用不为最终用户使用iTunes文件共享,请记得通过删除Info.plist中的UIFileSharingEnabled
将其关闭!否则,Apple可能会拒绝您的应用,因为您启用了未使用的功能,这可能会让用户感到困惑。
答案 1 :(得分:0)
在它运行的模拟器中,在设备上,交换资源打破代码签名...当然你也可以更改应用程序,以便从应用程序库文件夹加载图像...他想ssh到iphone还是这样?
我会安装他xcode和模拟器(实际上我让我们的设计师使用xcode,他们可以构建应用程序!)