转载:http://www.cocoachina.com/bbs/read.php?tid=217107&page=1&toread=1#tpc
iOS8下的开发变化(另,还有未解问题,欢迎大神赐教)
- 分享类型:应用开发相关
原创,转发请带http://www.cocoachina.com/bbs/read.php?tid=217107&page=1&toread=1#tpc
2014/8/5更新内容
1.iOS8_beta5更新后,存在电话Tel:变不好用的问题了。目前正在调查中。
2.(严重问题)现在的ViewDidLoad的调用机制发生了变化,影响了时序
1.程序崩溃问题。
使用iOS8 demo的系统运行iOS7下的程序,会发生程序崩溃的情况。通常这种崩溃的发生原因是变量对象被提前释放了
举例
-(void)自定义函数
{
ClassViewControllerA * classViewControllerA = [ [ClassViewControllerA alloc] init...]; (这么用生命周期会有问题)
self presentView classViewControllerA;
}
最好是把classViewControllerA 拿到@property里管理
2.原来自定义的UIView的布局变大了
通常这个View是作为Controller的self.view设置的,而且将View自定义了Size,iOS8 demo中会无视这种自定义,强制设置为标准宽高。解决方式是需要重新设置View为FreeForm,或者程序中设置Frame。
3.自定义UIActionSheet的SubView无法显示
就像UIAlert一样,UIActionSheet上也没有办法乱加东西了。
4.子类中的属性名和父类里的冲突了。
iOS7前貌似没问题,iOS8 beta不行了。举例 description 字段,NSObject里也有
5.地图定位不好用了
iOS8修改了位置设置里的内容,增加了一套状态(使用中可用/通常可用),所以以前的CLLcationManage的注册后,
Delegate接口不响应了。
iOS8需要这么设置
第一步
location = [[CLLocationManager alloc] init];
location.delegate= self;
[locationrequestAlwaysAuthorization];
第二步
在Plist中追加下面两个字段 (必须有,最少一个,内容是系统ALert的文言,文言可为空)
NSLocationWhenInUseDescriptionNSLocationAlwaysUsageDescription第三步
有了新的Delegate方法。
- (void)locationManager:(CLLocationManager *)manager didChangeAuthorizationStatus:(CLAuthorizationStatus)status
{
switch (status) {
casekCLAuthorizationStatusNotDetermined:
if ([location respondsToSelector:@selector(requestAlwaysAuthorization)]) {
[locationrequestAlwaysAuthorization];
}
break;
default:
break;
}
}
附上调查过程
https://developer.apple.com/jp/devcenter/ios/library/documentation/LocationAwarenessPG.pdf
http://www.w3c.com.cn/ios8新特性之基于地理位置的消息通知uilocalnotification
http://blog.uniba.jp/post/91830563468/ios-8
6.Bluetooth LE不好用了
确认了。5修正好以后,BLE就OK了
7.自定义TabbarBar进入present或者HideBottomTabbar后,会变蓝
怀疑是IOS8 demo问题
目前尝试用这个方法遮挡了一下,但是如果是自定义Tabbbar图片,图片只能显示白色剪影,内容无法显示。 [self.tabBarController.tabBar setSelectedImageTintColor:[UIColor whiteColor]];
8.模态画面presentModelView背景变成非透明黑色
怀疑是IOS8 demo问题
目前iOS8 提出了一个新的Class 但是貌似没用。
9.UIAlertVIew中message过长的情况下,布局崩溃(iOS7允许内容滑动)。
方法检讨中
参考网页:http://www.cnblogs.com/nathanou/p/3778200.html
※ iOS8 UIAlertView变化为UIAlertController (和本问题无关)
10.Alert内字体变粗体的问题。
确认下你的UIAlert创建的地方。如果Title设置为nil,则message字体会变粗体。
如果Title设置为@“”,则不会变化。
相关推荐
在Xcode中,iOS SDK是与特定版本的iOS对应的部分,它包含了开发和测试新功能所需的框架、库和工具。在Xcode偏好设置中,选择"Components"选项卡,然后下载并安装iOS 11.0的模拟器和开发者工具。 3. **设置...
在iOS应用开发过程中,开发者时常会遇到“Could not find Developer Disk Image”这样的错误,这通常是由于Xcode缺少对应iOS版本的SDK(Software Development Kit)所导致的。标题为“ios13.3真机开发包”的压缩文件...
通过这些源代码,开发者可以学习到如何在实际项目中应用iOS 9的API,以及如何解决开发过程中遇到的问题。 首先,iOS 9引入了许多新特性,包括Swift 2语言的更新、SiriKit的引入、UI设计的改进(如Split View和...
"iOS 11应用开发基础教程Swift4.0.pdf" 这本书可能是你的主要学习资料,它应该涵盖了Swift 4.0语言基础、iOS 11的新特性和如何将它们应用于实际项目中的详细教程。书中的章节可能包括Swift语言入门、Xcode工具的使用...
iOS9引入了多项新特性和功能,极大提升了用户体验和开发者的开发效率。本书名为《iOS+9应用开发基础教程》,是一本专注于Swift2.0语言的iOS9应用开发教程书籍。 ### iOS9系统特性介绍 iOS9的主要特性包括: - **...
- **常见问题解决方法**:总结开发过程中遇到的问题及其解决方案,帮助读者少走弯路。 #### 八、未来发展趋势 - **技术进步**:随着ARKit、Metal等新技术的出现和发展,未来的iOS游戏开发将迎来更多可能性。 - **...
这本书由DevDiv团队翻译成中文,旨在帮助中国的开发者更好地理解和应用Apple的iOS SDK,尤其适合那些希望提升iOS编程技能或者在实际项目中遇到问题需要快速查找解决方法的开发者。 本书涵盖了iOS开发中的多个关键...
这个软件包经过了实际测试,证明是真实可行的,这意味着它能够有效解决开发者在使用iOS 12.2设备进行应用开发和调试过程中可能遇到的问题。 首先,iOS 12.2作为一个重要的更新版本,引入了许多新特性和性能改进。...
在iOS开发过程中,适配新版本的iOS系统和Xcode工具是至关重要的。本文主要针对“iOS开发之适配iOS10以及Xcode8”这一主题进行深入探讨,旨在帮助开发者顺利过渡到新环境。 首先,Xcode8引入了一项新特性,即自动...
这些源码可以作为参考,帮助解决开发过程中遇到的问题,或者提供灵感,鼓励创新。 总之,这门公开课是iOS开发初学者的宝贵资源,它全面地介绍了iOS 7开发的各个方面,通过学习,学生不仅可以掌握Objective-C编程,...
同时,这些代码实例也可以作为解决问题的参考,当你在实际开发中遇到类似问题时,可以从中找到解决方案。 总之,《斯坦福Swift IOS9开发示例源码》是一份珍贵的学习资源,它涵盖了Swift语言和iOS9开发的多个方面,...
最后,考虑到用户体验,我们还需要实现错误处理和异常处理机制,以确保在遇到问题时能够给出适当的反馈。同时,添加音效和背景音乐可以增强游戏的沉浸感,这部分可以利用AVFoundation框架来处理。 综上所述,...
- 掌握使用App Store Connect提交应用,以及如何应对审核过程中可能遇到的问题。 10. 系统版本兼容性和更新: - 学习如何在新系统版本中适配旧代码,了解不同iOS版本间的差异。 - 关注苹果官方发布的新API和新...
在iOS开发中,JSON(JavaScript Object Notation)数据解析是一个重要的环节,因为它是一种轻量级的数据交换格式,广泛用于Web服务和移动应用之间的数据传输。本文将深入探讨JSON在iOS开发中的作用,以及如何利用...
- **自定义UIView**:在iOS应用中,经常会遇到需要自定义视图的情况。本书可能会深入讲解如何使用Objective-C或Swift来创建自定义UIView,并探讨性能优化技巧。 - **Core Animation动画实现**:Core Animation是iOS...
- **新特性**:了解iOS 17.1可能引入的新特性,如API变更,以便在代码中充分利用。 - **性能**:评估应用程序在iOS 17.1上的启动速度、响应时间和资源消耗,优化性能。 - **错误和崩溃**:记录和报告任何遇到的崩溃...
7. **错误处理**:在开发过程中,可能会遇到网络问题、用户取消支付、微信SDK版本不兼容等问题。因此,良好的错误处理机制是必须的,包括显示友好的提示信息,以及记录和分析错误日志以优化用户体验。 8. **用户...
如果遇到问题,比如`BUILD FAILED`错误,这可能是因为默认的iOS项目bundle identifier无法使用。这时需要进入iOS项目设置中修改bundle identifier。同时,免费的开发者证书限制在iPhone上只能安装3个开发中的APP,...
综上所述,配置Xcode以支持iOS 11.2的开发需要更新Xcode版本、配置模拟器、设置项目部署目标,以及熟悉并利用iOS 11.2的新特性。这个过程需要开发者具备一定的iOS开发基础,同时关注Apple的最新技术动态,以便提供...