1
我在Xcode中使用啓動屏幕爲我的應用程序做啓動屏幕。初始屏幕問題iPhone
在啓動畫面上只有一個圖像,背景中沒有API命中。
在時間超過20秒和應用程序崩潰的啓動畫面上花費的時間太長,我也在設備日誌上檢查過它。
有時它崩潰,有時它會運行,但它總是需要很長時間。
我不能從那裏移動到下一個屏幕。並且它僅在iPhone 6 Plus的啓動屏幕之前顯示白色屏幕(其他設備上沒有白色屏幕)。
如何解決iPhone 6 Plus的白屏問題並解決閃屏時間長的問題?
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool
{
// Override point for customization after application launch.
// self.prepareForContact()
if let a: AnyObject = (NSUserDefaults.standardUserDefaults().objectForKey("isFirstTime"))
{
if let a: AnyObject = (NSUserDefaults.standardUserDefaults().objectForKey("userid"))
{
self.createAppFromHomepage()
}
}
else
{
self.createAppFromWelcomeScreen()
}
isAllImageDownloading = false
// Save this data to hit friend service on login on every launch...
NSUserDefaults.standardUserDefaults().setObject("1", forKey: "hitFriendService")
let credentialsProvider = AWSCognitoCredentialsProvider(regionType: CognitoRegionType, identityPoolId: CognitoIdentityPoolID)
let configuration = AWSServiceConfiguration(region: DefaultServiceRegionType, credentialsProvider: credentialsProvider)
AWSServiceManager.defaultServiceManager().defaultServiceConfiguration = configuration
//print(credentialsProvider.secretKey)
if let event_id: AnyObject = NSUserDefaults.standardUserDefaults().objectForKey("eventId")
{
self.getEventDescription()
self.uploadEventRemainingImages()
}
let session1 = AVAudioSession.sharedInstance()
session1.setCategory(AVAudioSessionCategoryPlayAndRecord, withOptions: AVAudioSessionCategoryOptions.MixWithOthers|AVAudioSessionCategoryOptions.DefaultToSpeaker|AVAudioSessionCategoryOptions.AllowBluetooth, error: nil)
session1.setActive(true, error: nil)
UIApplication.sharedApplication().beginReceivingRemoteControlEvents()
let nsDocumentDirectory = NSSearchPathDirectory.DocumentDirectory
let nsUserDomainMask = NSSearchPathDomainMask.UserDomainMask
if let paths = NSSearchPathForDirectoriesInDomains(nsDocumentDirectory, nsUserDomainMask, true)
{
if let dirPath = paths[0] as? String
{
self.excludeFromBackupToICloud(dirPath)
}
}
if application.respondsToSelector("registerUserNotificationSettings:") {
let types:UIUserNotificationType = (.Alert | .Badge | .Sound)
let settings:UIUserNotificationSettings = UIUserNotificationSettings(forTypes: types, categories: nil)
application.registerUserNotificationSettings(settings)
application.registerForRemoteNotifications()
}
else
{
// Register for Push Notifications before iOS 8
// application.registerForRemoteNotificationTypes(.Alert | .Badge | .Sound)
}
if let isFirstTime: AnyObject = NSUserDefaults.standardUserDefaults().objectForKey("isFirstTime")
{
}
else
{
UIApplication.sharedApplication().applicationIconBadgeNumber = 0
// NSUserDefaults.standardUserDefaults().setObject("1", forKey: "isFirstTime")
}
return true
}
請分享應用程序代碼 –
您提到了「無背景API」,這對於保持UI的響應實際上是一件好事。有幾個調用可能會超過20秒:'createAppFromHomepage','AWSServiceManager','uploadEventRemainingImages',... – SwiftArchitect
AWSService管理器僅用於配置和其他方法,如createAppFromhomepage和uploadEventRemainingImages。這兩個調用只有當我登錄一次的應用程序,而我的問題是該應用程序在啓動畫面上崩潰。我無法訪問登錄屏幕,因此這兩種方法不會影響它。 – Som