Apple建议从提交到应用商店的屏幕截图中裁剪状态栏.在预览中手动执行此操作是一个非常繁琐且容易出错的过程.
是否有任何开发人员有加速此过程的最佳实践建议或自动化技术?目标是将iPad和/或iPhone屏幕截图作为输入,并在裁剪工具栏的情况下输出它们.我们需要支持纵向和横向以及Retina解析iPhone屏幕.
我在网上发现了一些旨在帮助解决此问题的实用程序,但我发现的那些似乎在Retina显示屏分辨率屏幕上失败了.而另一个通过iOS模拟器工作需要一个1920x1080分辨率的显示器来处理iPad截图 - 这对于非17英寸笔记本电脑的开发人员来说是无用的.
为AppStore拍摄好截图的其他任何建议?我知道(基于我的搜索),有很多其他开发人员会对更快的工作流程感兴趣来处理这个问题.
能够批量处理整个目录的加分点.
确保提交给AppStore的每个iOS应用程序的大小都在20MB以下,以便可以通过无线方式下载.
我正在开发一个可能接近该限制的应用程序,我发现似乎没有一种简单的方法可以在XCode中告诉当前输出.app包大小.
特别是在XCode4中 - 默认情况下,每个构建都隐藏在难以获取和密码命名的临时目录中.除非必须,否则我不想覆盖此默认行为.
我知道我可以通过查看构建日志,打开shell窗口,更改到该目录以及使用"du"来跟踪.app包 - 但我希望找到一种更快捷,更简单的方法来跟踪.每次新构建后的app文件大小.
甚至没有一种简单的方法直接在iPhone或iPad上确定应用程序的大小.大部分时间我都很欣赏这一点 - 但是当我处于优化之中时并非如此.
对最佳实践的任何想法?
更新:我现在正在使用XCode 4进行大部分日常开发,到目前为止,似乎每个解决方案都无法在XCode 4上运行,因为功能已经改变或功能(如存档)仍在进行中.我认为最终的答案可能是"使用XCode 3"进行特定的开发阶段.我知道无论如何我仍然需要使用XCode 3进行最终的构建和提交......
我正在开发一个应用程序,它使用MKOverlay视图在Google基本地图上叠加我自己的自定义地图.我一直在使用Apple优秀的TileMap示例代码(来自WWDC 2010)作为指南.
我的问题 - 当"overzoomed"到比我生成的tile集更深的细节级别时,代码不会显示任何内容,因为在计算的Z级别上没有可用的tile.
我想要的行为 - 当"过度使用"应用程序应该只是继续放大最深层次的瓷砖.叠加层变得模糊是一种很好的用户体验 - 叠加层消失是一种非常糟糕的体验.
这是返回要绘制的图块的代码 - 我需要弄清楚如何修改它以限制Z深度,而不会破坏为叠加图块计算的帧的缩放.有什么想法吗???
- (NSArray *)tilesInMapRect:(MKMapRect)rect zoomScale:(MKZoomScale)scale
{
NSInteger z = zoomScaleToZoomLevel(scale);
// PROBLEM: I need to find a way to cap z at my maximum tile directory depth.
// Number of tiles wide or high (but not wide * high)
NSInteger tilesAtZ = pow(2, z);
NSInteger minX = floor((MKMapRectGetMinX(rect) * scale) / TILE_SIZE);
NSInteger maxX = floor((MKMapRectGetMaxX(rect) * scale) / TILE_SIZE);
NSInteger minY = floor((MKMapRectGetMinY(rect) * scale) / TILE_SIZE); …
Run Code Online (Sandbox Code Playgroud) 我发现Xcode 4.3.1在应用程序包内的目录树中使用资源验证应用程序存在严重问题.
应用程序可以在Xcode"Build for Archive"过程中通过验证 - 只有在通过Organizer运行验证时才会失败,这需要保存以进行ad hoc或App Store提交.
在花费数小时试图追踪通常的代码签名权利问题之后,我最终在导出失败时注意到系统控制台中的以下行:
3/10/12 2:32:48.450 PM [0x0-0x261261] .com.apple.dt.Xcode:/ Users/chris/Library/Developer/Xcode/Archives/2012-03-10/Coverage 3-10-12 2.32 PM.xcarchive/Products/Applications/Coverage.app/Tiles/T-Mobile-roam/4:是一个目录
"Tiles"目录已通过"为任何添加的文件夹创建文件夹参考"添加到我的项目中.
我发现删除Tiles目录允许应用程序构建和验证.将其添加回会导致此代码签名失败.
似乎添加一个多级目录树完全搞砸了验证过程,并且错误消息使开发人员陷入疯狂追逐,试图追踪真正不是问题的代码签名和授权问题.
我之前的Xcode版本从来没有遇到任何问题 - 这似乎是Xcode 4.3.1中一个新的严重错误.
有没有可行的解决方法可以让我们向我们的应用程序提交更新?
笔记:
这个帖子似乎有关:https://devforums.apple.com/message/630800
这个问题也触及了类似的问题: Xcode 4.3:Codeign操作失败(检查您选择的身份是否有效)
我正在开发一个基于MKMapView的iPhone/iPad地图应用程序,它覆盖了我自己的基本底图,即使在用户离线且无法访问Google的地图图块服务器时也能提供一些有限的功能.
这个功能正在运行 - 但是我很难在每次新构建之后测试它,因为我找不到刷新/重置iOS地图图块缓存的方法.iOS缓存甚至可以在电源循环和iOS设备重启后幸存下来.我过去放大的任何地方都会使用先前测试会话中的内存中的切片进行渲染.
有没有办法强制iOS刷新其地图缓存?现在,我能想到的唯一选择是每次需要进行测试时重新刷新操作系统.
谢谢!
顺便说一句:这几乎是这个问题的重复,但在这种情况下,问题不是使用空缓存进行测试,而是释放内存.那里接受的答案集中在RAM问题上,而不是我在这里遇到的问题.
我正在使用通过MKMapView和MKOverlay使用半透明平铺地图覆盖的iPhone/iPad应用程序.
我希望用户能够深入放大地图,但我的地图叠加层的分辨率只能达到6级.
我不想限制缩放.
但是......如果用户缩放"太远"然后滚动到新的图块,如果它们比覆盖图块树更深,则不会绘制我的叠加.
我希望即使在用户放大深度时也可以绘制叠加层.
有没有最佳实践来实现这一目标?
我提出的两个选项:
1)设置用户可以缩放的范围限制.不理想,因为即使叠加是低分辨率,它们仍可能在透明的彩色范围内,并且透明的覆盖层看似消失是误导性的.
2)预渲染瓷砖比其他方式更深入...这样可行,但它会使我的应用程序的尺寸增加一个数量级.
必须有一个更好的方法.有任何想法吗???
更新:我能找到的最接近的示例代码是来自WWDC 2010的Apple的TileMap示例.他们的代码遇到了同样的问题 - 如果放大"太远",则不会显示地图叠加层.
我正在开发一个应用程序,在启动时检查有效的登录凭据,如果找到并且未过期,则会显示主拆分视图控制器,如果不是,则应显示登录屏幕.
每个部分都可以单独工作,但我正在努力在发布时选择合适的视图进行显示.
我已经尝试从根视图控制器设置模态segue,并在我的应用程序中:在App Delegate中使用didFinishLaunchingWithOptions:函数,调用:
// Segue to the login view controller...
if (loginNeeded) {
[self.window.rootViewController performSegueWithIdentifier:@"LoginScreen" sender:self];
}
Run Code Online (Sandbox Code Playgroud)
这在逻辑上应该可行,但是从app委托中触发segue似乎是不可能的.
处理这个问题的理想场所和技术是什么?
我们正在考虑更改iOS应用程序的下一版本中的版本号,使用传统的Major.Minor.Patch版本号方案,而不是使用基于日期的方案(如2012.month.patch)来更好地向用户反映货币该应用程序.
Apple iTunes中唯一的版本号指导如下:
您要添加的应用的版本号.编号应遵循典型的软件版本控制约定(例如,1.0或1.0.1或1.1).
我的问题 - 他们是否执行这一传统计划?
使用基于日期的计划有任何不利之处吗?
在已经广泛部署的应用程序上,是否有任何可能出现的问题?
更新:为了解释进入基于日期的版本控制方案的更多理由...有问题的应用程序主要更新,以反映每年添加几次的新数据集.对于用户来说,知道版本2012.2具有当前数据是有用的 - 版本2.6没有传达这一点.
ios ×7
iphone ×4
mkmapview ×3
app-store ×2
mapkit ×2
overlay ×2
tiles ×2
xcode4 ×2
caching ×1
code-signing ×1
ipad ×1
screenshot ×1
segue ×1
uistoryboard ×1
versioning ×1
xcode ×1