您的位置:首页 > 移动开发

解决之前上架的 App 在 iOS 9 会闪退问题 (更新:已有 Hotfix)

2015-09-19 12:25 357 查看
最新更新:(2015.10.02)

开发环境:

Delphi 10 Seattle

OS X El Capitan v10.11

需使用下列 Hotfix
ID: 30398, PAServer Hotfix for Delphi, C++Builder and RAD Studio 10 Seattle


Xcode v7.0.1

iOS SDK v9.0

真机测试(以下机种皆不闪退):

iPhone 3GS v6.1.2 (32 bit)

iPhone 4 v7.1.2 (32 bit)

iPhone 4S v9.0 (32 bit)

iPhone 5S v8.4.1 (64 bit)

iPad 2 mini v9.0 (64 bit)

※ 使用上面的配置,及 EMB 官方提供的 Hotfix,真机皆没有问题,下面的闪退问题可以略过了。

问题一:iOS 9 于 2015/09/16 开放下载了,但之前使用 Delphi(XE8 或之前的版) 开发上架的 App 皆会闪退,无法运行在 iOS 9。

问题二:使用 Delphi 10 Seattle + Xcode 7.0 + iOS SDK 9.0 发布到 iOS 9 的真机没有问题,但发布到 iOS 6~8 的机子会闪退

为了解决以上问题,可以参考下列方法:

1. 使用 Delphi 10 Seattle 重新上架:

开发环境:

Delphi 10 Seattle

Xcode 7.0

iOS SDK 8.4(这个是关键,一定要用 SDK 8.4 才不会闪退)

真机测试(以下机种皆不闪退):

iPhone 3GS v6.1.2 (32 bit)

iPhone 4 v7.1.2 (32 bit)

iPhone 4S v9.0 (32 bit)

iPhone 5S v8.4.1 (64 bit)

iPad 2 mini v9.0 (64 bit)

2. 使用 XE8 重新上架:

开发环境:

Delphi XE8 update 1

Xcode 6.4

iOS SDK 8.4

修改源码:

需依官方建议的方法,修改 XE8 的源码(如果不修改,会闪退):
http://community.embarcadero.com/blogs/entry/workaround-steps-for-building-ios-32-bit-applications-for-ios-9-with-xe7-and-xe8

真机测试(以下机种皆不闪退):

iPhone 3GS v6.1.2 (32 bit)

iPhone 4 v7.1.2 (32 bit)

iPhone 4S v9.0 (32 bit)

iPhone 5S v8.4.1 (64 bit)

iPad 2 mini v9.0 (64 bit)

赶快重新上架新版 App 吧。

追加整理,依版本整理如下(2015.09.23):

Xcode 7.0 + SDK 8.4

XE8 + iOS 6 = 正常

XE8 + iOS 7 = 正常

XE8 + iOS 8 = 正常

XE8 + iOS 9 = 正常

Xcode 6.4 + SDK 8.4

XE8 + iOS 6 = 正常

XE8 + iOS 7 = 正常

XE8 + iOS 8 = 正常

XE8 + iOS 9 = 闪退(使用官方修复文件,不闪退)

Xcode 7.0 + SDK 9.0

D10 + iOS 6 = 闪退

D10 + iOS 7 = 闪退

D10 + iOS 8 = 闪[b]退[/b]

D10 + iOS 9 = 正常

官方 QC 讨论:

https://quality.embarcadero.com/browse/RSP-12324

官方 Apple Xcode 各版本下載位置:

https://developer.apple.com/downloads/

OS X El Capitan
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: