相关疑难解决方法(0)

如何使iPhone App与多个SDK(固件)版本兼容

随着iOS4即将推出,我已经计划在我的应用程序的未来更新中包含iAd.我认为这将使我的应用程序无法用于固件低于4.0的任何人.有没有办法根据用户的固件更改变量和.xib文件?干杯.

iphone compatibility iphone-sdk-3.0 ios4

60
推荐指数
1
解决办法
1万
查看次数

如何制作以编程方式使用UISplitViewController和UINavigationController的通用iPhone/iPad应用程序?

我无法在任何地方找到一个好的答案.我正在为我的iPhone应用程序使用UINavigationController,所有内容都是以编程方式生成的,Interface Builder中没有任何内容.我正在尝试使用UISplitViewController和我现有的UINavigationController将我的应用程序移植到iPad,但我不确定我的程序逻辑应该分离iPhone或iPad的视图控制器.

我是否将主文件设置为使用其他应用程序委托,还是使用相同的应用程序委托并在其中有条件地设置用户界面?

除此之外,每当我尝试在模拟器上编译我的应用程序时,它都无法识别UISplitViewController甚至是我检查类是否存在的条件.

可以请有人把我放在正确的方向,记住我没有使用任何xibs?

iphone cocoa-touch ipad uisplitviewcontroller

12
推荐指数
1
解决办法
8369
查看次数

检查是否支持UIGraphicsBeginImageContextWithOptions

我正在开发iOS应用程序.它目前仅适用于iOS 4,因为我在几个场合使用以下方法:"UIGraphicsBeginImageContextWithOptions".此方法仅适用于iOS 4,因此我的应用程序当前崩溃/无法在iPhone OS 3上运行.除此方法外,没有理由认为应用程序无法在iPhone OS 3上运行.如何检查看这个方法有没有?我尝试了以下没有成功:

if([self respondsToSelector:@selector(UIGraphicsBeginImageContextWithOptions)]) {
    UIGraphicsBeginImageContextWithOptions(targetSize, NO, 0.0); // this will crop
}
else 
{
    UIGraphicsBeginImageContext(targetSize);

}
Run Code Online (Sandbox Code Playgroud)

我只试过这样的变化:

if([self respondsToSelector:@selector(UIGraphicsBeginImageContextWithOptions:size:opaque:scale:)])
Run Code Online (Sandbox Code Playgroud)

if([self respondsToSelector:@selector(UIGraphicsBeginImageContextWithOptions:)])
Run Code Online (Sandbox Code Playgroud)

没有成功.任何帮助,将不胜感激.

cocoa-touch objective-c uikit ios4 retina-display

5
推荐指数
1
解决办法
3841
查看次数

在OS3.x上运行时,IPhone OS4功能链接错误

我已经在iPhone OS 3.0上使用IPhone base SDK 4.0编译了一个应用程序.此应用程序包含OS 4.0新功能:本地通知.

它适用于OS 2的iPod 2G; 然而,每次应用程序启动iPhone 1G OS 3.0时它都会崩溃.它似乎是运行时引用错误:

"使dyld:找不到符号:_OBJC_CLASS _ $ _ UILocalNotification引用自:在/ var /移动/应用/ 73A3FAB1-63AE-4A71-8C6B-932142A728FE/Tapatalk X.app/Tapatalk X预期在:/System/Library/Frameworks/UIKit.framework/UIKit的"

如果UIKit框架SDK3.0和SDK4.0之间是不同的,它为什么不同时编制报告?如何在此应用程序上应用本地通知功能,而应用程序仍可在运行OS3.0的设备上运行?谢谢.

iphone

3
推荐指数
1
解决办法
1751
查看次数

用SDK 4.2开发的iPhone应用程序,需要向后兼容iOS 3.1.3 ..简单的方法?

我用SDK 4.2构建了一个iPhone应用程序但是我知道也想让它与iOS 3.1.3兼容.

第一步是将部署目标设置为3.1.3.它在3.2模拟器上运行良好,但应用程序有时会崩溃,因为我使用的是一些早期SDK中没有的方法.

所以我的问题是,是否有一种直接的方法来找到我在项目中使用的有缺陷的方法/类,这些方法/类在3.1.3中不可用?(无需手动完成每个方法调用,并参考文档以获取SDK的可用性?)

谢谢.

更新:我已经在3.1.3上执行了应用程序并尝试手动测试每个执行路径,希望找到所有异常.这完成了一定程度的成功.但是,如果应用程序很大,该怎么办?并且有很多执行路径?这种情况必须有一些工具.任何想法都非常感激.

backwards-compatibility ios

3
推荐指数
1
解决办法
671
查看次数