Я использую экран запуска в 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
}
, пожалуйста, поделитесь кодом appdelegate –
Вы упоминаете «нет фонового API», что на самом деле было бы хорошей вещью, чтобы поддерживать пользовательский интерфейс отзывчивым. Существует несколько вызовов, которые могут превышать 20 секунд: 'createAppFromHomepage',' AWSServiceManager', 'uploadEventRemainingImages', ... – SwiftArchitect
AWSService manager предназначен только для настройки и других методов, таких как createAppFromhomepage и uploadEventRemainingImages. Эти два вызова, только когда я зарегистрировался один раз в приложении, в то время как моя проблема связана с сбоем приложения на заставке. Я не могу добраться до экрана входа в систему, поэтому эти два метода не влияют на него. – Som