iOS 8.2 升级不在 UIImageView 中显示图像,但仅在通过 iTunes 或 TestFlight 而不是 Xcode 加载的应用程序中
Posted
技术标签:
【中文标题】iOS 8.2 升级不在 UIImageView 中显示图像,但仅在通过 iTunes 或 TestFlight 而不是 Xcode 加载的应用程序中【英文标题】:iOS 8.2 upgrade not show image in UIImageView, but only in app loaded through iTunes or TestFlight not Xcode 【发布时间】:2015-03-26 16:06:19 【问题描述】:听起来很奇怪……
通过测试飞行或 iTunes 加载的应用程序不会在屏幕上显示图像,但通过 Xcode 加载时会显示。我相信 UIImageView 在那里,并且 UIImage 已加载。
通过 Xcode 加载的 App 工作。
如果设备连接到 Xcode 和调试,设备连接 USB 电缆。尽管加载方法,应用程序仍然有效...
核心数据似乎适用于所有情况。
任何想法,有人见过类似的东西。我很迷茫。
另外,如果您对如何在设备上进行调试有任何提示,我将不胜感激。
我认为它涉及的少数代码。
我正在使用从磁盘加载 UIImage
UIImage * previewImage = [UIImage imageWithContentsOfFile:path];
图像位于 Documents Directory 文件名是输入
NSURL *documentsFolderURL = [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject];
NSString *documentsFolderPath = [documentsFolderURL path];
if (![_documentsDirectory isEqualToString:documentsFolderPath]) [self generateLocaFolderPath];
NSString *returnedPath = [_documentsDirectory stringByAppendingPathComponent:fileName];
return returnedPath;
并使用
在imageView中设置图像previewView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, frameImageThumbnail.size.width, frameImageThumbnail.size.height)];
[previewView setImage:previewImage];
其他一切似乎都运行良好...
我的第一个问题!!!感谢阅读!
_编辑_
我现在坚信问题不在 UIImage 中,我在应用程序的其他部分使用了相同的方法并且它工作正常。
但现在我认为问题出在我对包含 UIImageView 的 UIView 执行的动画中。
[_view setFrame:frameImageThumbnail];
[_view setClipsToBounds:YES];
[_view setAutoresizesSubviews:YES];
[_image setAutoresizingMask:UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight];
[_view addSubview:_image];
[UIView animateWithDuration:0.4
delay:0.1
options:UIViewAnimationOptionCurveEaseInOut
animations:^(void)
CGRect destination1Frame = _view.frame;
//... some complicated calculations with the rect ...
[_view setFrame:destination1Frame];
[UIView transitionFromView:_customView toView:_view duration:0 options: UIViewAnimationOptionShowHideTransitionViews completion:^(BOOL finisehdCompletion)
//stop showing video in _customView
];
];
我在情节提要中使用 NSAutolayout。虽然我的应用程序只允许一种横向。不知道这一切是否与它正在制作的框架啮合。 让可怜的自动布局人头晕......
【问题讨论】:
【参考方案1】:确保您在复制捆绑资源中设置了/您的图像。您也可以检查您的图像 path 是否有效。但我认为图像未设置为在构建阶段复制。
【讨论】:
图片位于 Documents 目录中。要显示的图片是用户拍摄的图片。用户对其执行多项任务。然后我使用那张图片,所有图像处理都正确完成。我不能在构建阶段做到这一点。谢谢你的回答。 请检查本地路径的方法。还有 NSLog 所有路径和文件名(包括目录)。我认为通过 testflight 部署的应用程序和通过 XCode 在设备上运行的应用程序之间肯定存在差异。发布这些日志。 似乎问题与自动布局有关。我不明白为什么只发生在通过 iTunes 或 testflight 加载的应用程序上。 UIImageView 上的帧大小设置为 (0,0,0,0)。只能在设备中通过存档--> 导出--> iTunes 工作非常令人沮丧...【参考方案2】:我遇到了同样的问题。。没有找到正确的解决方案。
但我删除了图像(检查它是否在您的 Bundle 资源中被删除),然后用 ANOTHER 名称再次放置图像。 它对我有用。这是一个临时解决方案,如果它是苹果错误或什么的。
【讨论】:
【参考方案3】:好的,在我的设备中构建并安装了 20 多个 ipa 文件之后。在所有这些解决问题的过程中,我从情节提要中删除了 _view,并以编程方式初始化了视图。我记得 _view 最初被设置为 (weak, nonatomic) 属性,因为是用故事板制作的,这个超级好用的 ctrl+。
那是我所做的改变,从弱到强,现在可以工作了。
我不知道为什么只有通过 iTunes 使用 ipa 文件或通过试飞应用程序安装程序时它才起作用。这对我来说仍然是个谜。
【讨论】:
以上是关于iOS 8.2 升级不在 UIImageView 中显示图像,但仅在通过 iTunes 或 TestFlight 而不是 Xcode 加载的应用程序中的主要内容,如果未能解决你的问题,请参考以下文章
appDelegate 中的 UIImageView 显示在模拟器中,但不在设备上
UIPageControl 不与 IOS7 中的 UIImageView 一起使用