Dans mon cas, j'utilisais une fonction d'aide pour sauvegarder des données dans Firebase. Cette fonction retournait un dictionnaire avec environ 20 éléments et cela prenait environ 40 minutes à compiler. Ma solution a été d'initialiser un dictionnaire vide et d'ajouter les éléments un par un à someDict
. Maintenant, il compile en moins de 30 secondes. J'espère que cela vous aidera.
Avant
func toAnyObject() -> AnyObject {
return
["BookingAmount":BookingAmount,
"BookingNumber":BookingNumber,
"PostCode":PostCode,
"SelectedBathRow":SelectedBathRow,
"SelectedBedRow":SelectedBedRow,
"DateAndTime":DateAndTime,
"TimeStampDateAndTime":TimeStampDateAndTime,
"TimeStampBookingSavedInDB": TimeStampBookingSavedInDB,
"FrequencyName":FrequencyName,
"FrequecyAmount":FrequecyAmount,
"insideCabinets": insideCabinets,
"insideFridge": insideFridge,
"insideOven": insideOven,
"laundryWash": laundryWash,
"interiorWindows": interiorWindows,
"FullName":FullName,
"SuppliesName":SuppliesName,
"SuppliesAmount":SuppliesAmount,
"FlatNumber":FlatNumber,
"StreetAddress":StreetAddress,
"PhoneNumber":PhoneNumber,
"EmailAddress":EmailAddress] as AnyObject
}
Après
func toAnyObject() -> AnyObject {
var someDict = [String : AnyObject]()
someDict["BookingAmount"] = self.BookingAmount as AnyObject?
someDict["BookingNumber"] = self.BookingNumber as AnyObject?
someDict["PostCode"] = self.PostCode as AnyObject?
someDict["SelectedBathRow"] = self.SelectedBathRow as AnyObject?
someDict["SelectedBedRow"] = self.SelectedBedRow as AnyObject?
someDict["DateAndTime"] = self.DateAndTime as AnyObject?
someDict["TimeStampDateAndTime"] = self.TimeStampDateAndTime as AnyObject?
someDict["TimeStampBookingSavedInDB"] = self.TimeStampBookingSavedInDB as AnyObject?
someDict["FrequencyName"] = self.FrequencyName as AnyObject?
someDict["FrequecyAmount"] = self.FrequecyAmount as AnyObject?
someDict["insideCabinets"] = self.insideCabinets as AnyObject?
someDict["insideFridge"] = self.insideFridge as AnyObject?
someDict["insideOven"] = self.insideOven as AnyObject?
someDict["laundryWash"] = self.laundryWash as AnyObject?
someDict["interiorWindows"] = self.interiorWindows as AnyObject?
someDict["FullName"] = self.FullName as AnyObject?
someDict["SuppliesName"] = self.SuppliesName as AnyObject?
someDict["SuppliesAmount"] = self.SuppliesAmount as AnyObject?
someDict["FlatNumber"] = self.FlatNumber as AnyObject?
someDict["StreetAddress"] = self.StreetAddress as AnyObject?
someDict["PhoneNumber"] = self.PhoneNumber as AnyObject?
someDict["EmailAddress"] = self.EmailAddress as AnyObject?
return someDict as AnyObject
}
0 votes
Voir si este fonctionne pour vous. Je suppose que vous avez essayé de redémarrer votre Mac, Xcode, votre projet, de nettoyer votre projet, etc.
2 votes
Même chose pour moi. j'ai un macbook 15inch 2,5ghz vieux de 9 mois. le prix était de presque 3k. il se comportait comme le Flash dans xcode 7 comparé à ce qui se passe ici dans xcode 8. les storyboards mettent un an à s'ouvrir et le temps de compilation a au moins triplé. j'espère juste qu'il y aura des mises à jour.
0 votes
Et @YashTamakuwala bon sang, tu m'as donné de l'espoir avec ce lien, mais mon
Build Active Architectures Only
est déjà définiYES
par défaut :(0 votes
@YashTamakuwala, oui j'ai déjà essayé, mais merci.
0 votes
Il existe également une astuce vaudou qui consiste à créer un nouveau projet vierge et à coller les fichiers originaux dans le nouveau projet. Cette astuce est connue pour résoudre de nombreux comportements obscurs de Xcode.
0 votes
@YashTamakuwala, j'ai aussi essayé. Merci, mais cela n'a pas aidé
0 votes
Idem ! C'est frustrant !
0 votes
Avez-vous activé l'optimisation de l'ensemble des modules et êtes-vous en train d'élaborer votre configuration de mise à jour ? (Elle a été activée par défaut pour Swift 3.0). L'optimisation des modules entiers nécessite de reconstruire l'ensemble du projet à chaque fois.
0 votes
stackoverflow.com/questions/39547197/
0 votes
@fancy essayez ma réponse, je pense que c'est le problème avec votre code.
0 votes
@bibscy merci, mais comme indiqué dans ma question, il n'y a pas de fichier particulier qui prenne beaucoup de temps à compiler.
0 votes
Voir ma réponse dans ce poste J'espère que cela vous aidera.
0 votes
Cela a fonctionné pour moi sur Xcode 8.3 swift 3.1 - stackoverflow.com/a/40497873/1890317 Je suis passé de plus d'une minute de construction à 17 secondes.