相关疑难解决方法(0)

"警告:iPhone应用程序应包含armv6架构",即使使用构建配置集也是如此

我已经有一段时间不得不调整项目构建设置了.升级到最近的SDK后,我无法构建我的ad hoc分发配置.

Build生成此警告和错误:

警告:iPhone应用程序应包含armv6架构(当前ARCHS ="armv7")

iPhone/iPod Touch:应用程序可执行文件缺少必需的体系结构.必须至少存在以下架构之一:armv6(-19033)

但是在我的项目中我认为我的设置正确:

  • 架构是:标准(armv6 armv7)
  • 基础SDK:最新的iOS(目前设置为iOS 4.2)
  • 有效的架构:armv6 armv7

替代文字

我清理了所有目标.

我很感激任何提示.

xcode ios

330
推荐指数
6
解决办法
10万
查看次数

应用程序在iPhone 5.1模拟器和带有iOS 5.1的真实iPhone 4上表现不同

简而言之:

当导航控制器的后退按钮的标题发生变化时,在某些情况下旧标题会被卡住并且不会显示新标题.这仅在某些可重现的情况下发生,而在其他情况下则按其设计工作.

这取决于硬件

  • iPhone 3G(iOS 4.2.1)和模拟器(iOS 5.1)中出现错误
  • 使用相同的源代码,iPhone 4(iOS 5.1)上没有错误

这取决于写入标题的单词

  • 当创建按钮时,它从我的自写创建方法获得与它自动获得的标题相同的单词(即导航控制器堆栈上的上一页的标题),以及当其他情况匹配时,当稍后尝试更改按钮的标题时,旧文本将被卡住,新标题将不会显示.
  • 当在创建时按钮获得一个与其默认标题不同的标题的单词时,只要您没有为其指定默认标题,其标题的每个后续更改都可以正常工作.
  • 如果在经过许多不同标题的成功更改后,您将单词放在按钮标题上,这是它的默认标题,那么这个单词就会被卡住.以后的更改将不被接受(没有任何消息,并且仅在其他情况匹配时)

这取决于按钮在此期间是否不可见.

  • 如果在导航控制器堆栈上推送了另一个视图,那么带有缺陷按钮的旧页面将被新页面隐藏,并且当新页面再次从堆栈中弹出时再次使按钮可见,(并且其他情况匹配)然后旧文本被卡住并且更改它的试验被忽略(没有任何消息).
  • 如果按钮是较新的隐藏,更改其标题永远不会有问题.我一直都在工作.

动画期间可以看到正确的标题

  • 当由于上述情况的组合而忽略了改变后退按钮标题的尝试时,当按下该后退按钮并且页面的向右滑动动画时,正确的标题无论如何变得可见约0.3秒.处理.在动画开始时,旧的标题被正确的标题替换,并且在动画期间可以看到正确的标题.

详细说明

这是关于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 ios ios-simulator

29
推荐指数
1
解决办法
2216
查看次数

从xcode3切换到xcode4 - 无法将程序加载到较旧的iPod Touch上

可能重复:
iPhone应用程序无法在旧设备上运行(3G,3GS,...)

我有一个类似的问题(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)

其他人遇到类似问题或有任何建议吗?

ios xcode4

11
推荐指数
3
解决办法
4181
查看次数

3G iPhone设备"已完成运行"但应用程序无法加载

我正在尝试在3G设备上运行应用程序.Xcode表示该应用程序已"完成在iPhone上运行",但该应用程序将无法部署.我想我的架构配置正确(见下图)

在此输入图像描述

在此输入图像描述

任何帮助都会很棒,

谢谢

iphone iphone-3gs armv6 ios

8
推荐指数
1
解决办法
4165
查看次数

标签 统计

ios ×4

iphone ×2

armv6 ×1

ios-simulator ×1

iphone-3gs ×1

xcode ×1

xcode4 ×1