0

我想知道是否有任何方法可以改善 iOS 中程序员和设计师的工作流程,而无需重新考虑源代码控制或代码。

目前我有一个设计师和我一起工作,他对代码和源代码控制感到不舒服。然后,每次他想在应用程序中间看到一个资源时,我都必须重新编译。

我可以使用 web 服务,并且只获取每次应用程序启动时更改的资源。但是,我觉得如果他用 10-20 兆更改大约 10 个视频(例如新的压缩测试),这个解决方案可能会令人沮丧。

在 Windows 8 中,我可以使用库文件夹中的资源创建一个文件夹,他可以访问它并替换资源。然后,应用程序可以从该文件夹加载所有资源。但是我可以在 iOS 中做什么?没有 sd 卡(或外部硬盘驱动器),我想我不能将资源放在一个文件夹中并将它们加载到应用程序中。

4

2 回答 2

3

对我来说,我将通过添加UIFileSharingEnabled到 Info.plist使我的应用程序在 iTunes 文件共享中可用

然后我用自定义方法包装我对加载资源的调用,例如:

- (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 文件共享 有关 iTunes 文件共享的更多信息,请查看Apple 的文档

更新UIFileSharingEnabled:如果您的应用程序不为最终用户使用 iTunes 文件共享,请记住通过在 Info.plist 中删除来关闭它!否则 Apple 可能会因为您启用了未使用的功能而拒绝您的应用程序,这可能会使用户感到困惑。

于 2012-12-17T10:22:06.453 回答
0

在它工作的模拟器中,在设备上,交换资源会破坏代码签名...当然您也可以更改应用程序,以便从应用程序库文件夹中加载图像...他想通过 ssh 连接到 iPhone 左右?

会给他安装 xcode 和模拟器(实际上我让我们的设计师使用 xcode,他们可以构建应用程序!)

于 2012-12-01T20:26:38.433 回答