我已经有一段时间不得不调整项目构建设置了.升级到最近的SDK后,我无法构建我的ad hoc分发配置.
Build生成此警告和错误:
警告:iPhone应用程序应包含armv6架构(当前ARCHS ="armv7")
iPhone/iPod Touch:应用程序可执行文件缺少必需的体系结构.必须至少存在以下架构之一:armv6(-19033)
但是在我的项目中我认为我的设置正确:

我清理了所有目标.
我很感激任何提示.
当导航控制器的后退按钮的标题发生变化时,在某些情况下旧标题会被卡住并且不会显示新标题.这仅在某些可重现的情况下发生,而在其他情况下则按其设计工作.
这取决于硬件
这取决于写入标题的单词
这取决于按钮在此期间是否不可见.
动画期间可以看到正确的标题
这是关于UINavigationController后退按钮上的文字.我根据新的语言设置更改了这个按钮标题.目前,我的应用程序在导航控制器堆栈中最多有3个视图控制器.它们中的每一个都是`UITableViewController的不同子类.
表1,命名GeneralTableVC是堆栈上的根视图.它没有后退按钮.它为用户提供了他在应用程序中存储的内容的摘要,并显示了带有设置按钮的工具栏.
导航控制器提供了表1中可见的工具栏.它在表2和3中设置为不可见.此时工具栏中只有一个名为"设置"的按钮.触摸此设置按钮会将表2推入堆栈.
表2中SettingsTabVC有一个后退按钮,这是一个在模拟器中出现问题,但在运行iOS 5.1的真正iPhone 4上工作正常.
通过触摸表2的第一行,将创建一个新表(表3)并将其推入堆栈.
表3,LangSelectTableVC也有一个后退按钮,但这个在两个设备,iPhone模拟器和真正的iPhone 4中工作得很好.
表3是一个语言选择表,显示所有可用语言的列表(目前只有英语和德语).触摸行会立即更改设置.将重绘活动视图(表3),并在几毫秒内,屏幕上的所有文本都以新语言显示.
重绘表本身没有问题,导航栏中的标题也没问题.但是后退按钮上的文本也必须翻译,这有点棘手.我在两个后退按钮上都完成了相同的技巧,并且它对于表3中可见的按钮工作正常,该按钮指向表2.但是使用完全相同的代码,模拟器中存在问题(但不是真实的iPhone),表2中的按钮指向表1.
我给你一些代码片段和一些截图,向你展示我做了什么以及发生了什么:
ARC(自动参考计数)正在使用中.
我确实定义了一个重绘协议:
Protocols.h
#ifndef ToDo_Project_Protocols_h
#define ToDo_Project_Protocols_h
@protocol redrawProt
- (void) mustRedraw;
@end
#endif
Run Code Online (Sandbox Code Playgroud)
这是表1的标题:
GeneralTableVC.h
#import <UIKit/UIKit.h>
#import "Protocols.h"
// some other imports
@interface GeneralTabVC : UITableViewController <redrawProt>
@property id<redrawProt> parent;
@property Boolean mustRedrawMyself;
@property NSString* backTitle;
@property …Run Code Online (Sandbox Code Playgroud) 我有一个类似的问题(iPhone应用程序不能在旧设备(3G,3GS,...)上运行)但该页面上的解决方法对我没有任何作用.我一直在XCode3上开发iOS应用程序,并在运行iOS 4.2.1的旧版第二代iPod Touch上进行测试.过去几天尝试使用XCode4.
我能够使用模拟器在XCode4下构建和运行应用程序,我最初是在XCode3下开发的,以及全新的XCode4创建的"Hello World"类型.但是,当我尝试将其中一个放在实际的硬件上时,它会失败而几乎不会出现错误消息.XCode4中的调试窗口没有显示任何错误.XCode顶部中间的活动/状态指示器从"建立[AppName]"直接变为"完成运行[AppName]",但应用程序永远不会在设备上传输或运行.
如果我通过Organizer查看iPod的控制台,我会看到一堆错误,例如:
Thu Jun 16 15:17:56 unknown lockdownd [16] <Error>:2ff68000 handle_connection:无法从Xcode接收USB消息#6.杀死连接
Thu Jun 16 15:17:56未知com.apple.mobile.lockdown [16] <Notice>:无法接收消息大小
我猜它与此有关.我已经尝试从我的Mac上拔掉所有其他USB设备,但没有任何区别.尝试重新启动设备和Mac,但再次没有区别.
我已将iOS部署目标调整为4.2,所以我认为那里没有任何问题.设备显示在管理器中,带有绿点和有效的未过期配置文件.在代码签名属性下,它看起来像:
Code Signing Entity Don't Code Sign
Debug Don't Code Sign
Any iOS SDK iPhone Developer (currently matches...[profile I have installed])
Release Don't Code Sign
Any iOS SDK iPhone Developer (currently matches...[profile I have installed])
Run Code Online (Sandbox Code Playgroud)
设备本身在Schemes下拉列表中显示为:
[DeviceName](4.2.1覆盖Base SDK到5.0)
其他人遇到类似问题或有任何建议吗?
我正在尝试在3G设备上运行应用程序.Xcode表示该应用程序已"完成在iPhone上运行",但该应用程序将无法部署.我想我的架构配置正确(见下图)


任何帮助都会很棒,
谢谢