我有一个非常令人费解的问题。 我的应用程序使用多个自定义按钮,这些按钮使用手势识别器来确定敲击或长按。
当我在设备上从XCode运行应用程序时,一切正常。但是,当我将应用程序打包在.ipa文件中并将其安装在同一设备上时,按钮不再起作用!没有手势被识别,按下时也不会改变状态。其他一切似乎都很好......
我测试的设备是iPhone 5(运行iOS 6.1.4)和iPhone 4& 4S(都运行iOS 6.1.3)。我在Max OSX 1.8.3上使用XCode 4.6.2。
任何想法可能导致这种非常奇怪的行为?
PS:“Xcode生成”代码在我与XCode断开连接后继续工作。
答案 0 :(得分:10)
通常,归档到IPA文件中的代码使用的配置与从XCode运行时的配置不同。如果没有查看你的项目文件或者有更多的信息,我无法猜测是什么问题,但我要尝试的第一件事就是对你正在使用的方案进行编辑方案,并比较用于运行的构建配置行动和存档行动。
答案 1 :(得分:4)
可能优化级别!您可能使用Fastest, Smallest [-Os]
构建AdHoc版本。请参阅构建设置中的优化级别。使用Fastest, Smallest [-Os]
构建调试,然后您可以看到您的行为错误,以便您可以修复它,仍然使用首选的优化方式提交应用(使用发布配置)。
Fastest, Smallest [-Os]
以某种方式更严格地发布弱引用。
答案 2 :(得分:0)
同样令人惊讶的情况发生在我身上。我在GameStrings.h文件中针对不同的宏定义了所有项目相关的字符串。在从我的iPad 2中的.ipa文件中使用它们时检测到这些字符串,但它们没有显示在屏幕上。它完全是关于目标方案配置。正如@ScorpioCurse已经告知构建和归档项目可能使用不同的构建配置,可能会出现这些类型的问题。
检查这两个(构建和存档)方案是否使用相同的配置。确保这两个方案都使用相同的构建配置。