Koddaki herhangi bir değişiklikle (dosya .pch biçiminde olmasa da), proje her seferinde yeniden derlenir.
Koddaki herhangi bir değişiklikle (dosya .pch biçiminde olmasa da), proje her seferinde yeniden derlenir.
Yanıtlar:
2017/1/2 güncellemesi
Bu sorun Xcode 8.2.1'de çözülmedi (projem için)
Hayatta nasıl kalınır?
Code IDE: Xcode/Atom
Build: xcrun
Debug: Xcode (Control + Command + R)
2016/12/17 Güncellemesi
Bu sorun Xcode 8.2'de çözülmedi.
2016/12/12 Güncellemesi
Kod için atom ve derlemek ve hata ayıklamak için komut satırı artık benim seçimim. Umarım Apple bu yasal hatayı yakında düzeltir.
Güncelleme 2016/12/04
Bu sorun Xcode 8.2 (beta 2) ile çözülmüş görünüyor .
Ama benim için çözülmedi, Xcode 8.2'yi kullandığımda bile bu sorunla karşılaşıyorum. Deneyebilirsiniz (Xcode8.2 beta2'yi buradan indirin )
Sistem Oluşturma • Xcode, yalnızca küçük değişiklikler meydana geldiğinde tüm hedefi yeniden oluşturmayacaktır. (28892475)
Eski cevap: Bu, etrafındaki bir çalışmadır:
"Yapı Ayarı" sekmesi -> "C Dili Lehçesi" -> "Derleyici Varsayılanı" olarak değiştirin.
"C Dili Lehçesi", "Derleyici Varsayılanı" yerine "GNU99" olarak ayarlandı. Önceden standart GNU99'du ama şimdi değil. Bir noktada Xcode, kitaplık proje ayarlarını doğru bir şekilde taşımadı ve bu nedenle GNU99'a ayarlandı. Onu GNU99 olarak değiştirdiğimde, her seferinde tüm kodumu yeniden derlemeyi bıraktı!
Ürün -> Şema -> Şemayı Düzenle'ye gidin. Sol taraftaki sütunda Oluştur'u seçin ve " Örtülü bağımlılıkları bul " seçeneğinin işaretini kaldırın "
Ancak projeyi ilk kez oluştururken bu bayrak kontrol edilmiş olarak kalmalıdır ..
Benim için düzeltme film şeridini kapatmaktı, kaynak dosyayı destekli düzenleyiciyle açtırdım ve film şeridi dosyası da açıldı (film şeridini kapatarak - üzerinde herhangi bir değişiklik yapmadığım için) tüm gereksiz derlemeyi kaldırdım
GÜNCELLENMİŞ
Yapabildiğim en büyük iyileştirme projemi modüler hale getirmekti. Hemen hemen tüm diğer sınıflarda kullanılan ORM katmanını özel olarak modülerleştirmek. Bu kodu projem içinde ayrı bir hedefe taşıyarak ve onu bir modül olarak içe aktararak derleme sürelerini büyük ölçüde iyileştirebildim. Artık bir derleme yaptığımda Xcode gereksiz dosyaları yeniden derlemeye karar vermiyor.
Şimdi hızlı artımlı hata ayıklama derlemeleri için Tek Dosya derleme yöntemini kullanıyorum .
Bu bağlantıda kod yeniden düzenleme dahil olmak üzere başka iyi öneriler var, https://medium.com/rocket-fuel/optimizing-build-times-in-swift-4-dc493b1cc5f5
ESKİ
Hala Xcode 9 ile benim için sürekli bir sorun oldu. Birçoğunuz gibi ben de büyük bir swift 4 / cocoapod üzerinde çalışıyorum , birçok kaynak dosyası içeren projesi ve her dosyayı her seferinde yeniden derlemek çıldırtıcı.
Şimdiye kadar aşağıdaki ayarlarla en iyi sonuçları alıyorum. Bir denemenizi ve sizin için nasıl çalıştığını görmenizi öneririm.
Özel Kullanıcı Tanımlı derleme ayarları eklendi,
Not: Tüm modül optimizasyonu için özel kullanıcı tanımlı ayara sahip değilim.
Bu sorunu çözmüş görünen önek başlığıyla ilgili kodumla birkaç şeyi değiştirdim. Hangisinin gerçekten hile yaptığını bilmiyorum, ama hepsini orada başka birine yardım etmesi umuduyla paylaşacağım. Bir önek başlık setiniz yoksa, o zaman sorun bu değil sanırım (veya problem çok yönlüdür).
@import MyModule
). (Benim için bu ve 1. adım bir ve aynıydı.)Bu hala işe yaramazsa, önek başlığınızdan daha fazla içe aktarmayı kaldırmayı deneyebilirsiniz. Onu tetikleyen bir şey olabilir ...
Görünüşe göre https://forums.developer.apple.com/thread/62737 adresine göre üzerinde aktif olarak çalışıyorlar, ancak bir çözüm eklemek
HEADERMAP_USES_VFS = YES
hedefinizin derleme ayarları altında (Proje -> Hedef -> Yapı Ayarları -> Kullanıcı Tanımlı).
Bu çözüm, geçtiğimiz ay hiçbir çözümün tutarlı bir şekilde çalışmadığı günümüzde benim için her seferinde işe yaradı.
DÜZENLEME: Yine de bazen her şeyi yeniden derliyor, ancak bu ayar tanımlandığında bunu çok daha az sıklıkta yapıyor gibi görünüyor.
@IBDesignable
Benim özel durumumdaki direktiflerle ilgili tüm kodunuzu kontrol edin Xcode derleme projem her zaman çünkü film şeridimde bu @IBDesignable
özellikleri içeren bazı görüşlerim vardı . İkinci şey, film şeridimi ayrı bir pencerede (sekmede değil) açarak Xcode'umu sonsuza dek tüm simülatörler için derlemeler yapmamı sağlamaktır.
@IBDesignable
direktif kullanıyoruz ... özellikle aramamız gereken bir şey var mı?
Madhuri Mane bu konuda tamamen haklı. Biraz daha netlik eklemek için dikkat edilmesi gereken bazı önemli noktalar:
Bu YALNIZCA hedefinizin dayandığı kitaplıklara / çerçevelere örtük bağımlılıklarınız varsa geçerlidir.
"Örtülü Bağımlılıkları Bul" devre dışı bırakılırsa:
Sonuç: Uygulama hedefi oluşturulmadan önce kütüphane oluşturulmayacak. Uygulama hedefi oluşturulamıyor.
Düzeltme: İkinci senaryonun gerçekleşmediğinden emin olmak için, gerekli hedefleri hedefler listesine eklemeli ve bunları doğru şekilde sıralamalısınız.
Konuyla ilgili kaynak ve daha fazla okuma: https://pewpewthespells.com/blog/managing_xcode.html#scheme-action
Şimdi, tüm projeniz tek bir hedef içinde barındırılıyorsa ve derlenmesi 4 dakika sürüyorsa, yukarıdakilerden yararlanmak veya derlemenin nerede geciktiğini anlamak için çerçevelere ayırmak dışında bu konuda yapabileceğiniz pek bir şey yoktur. PaintCode gibi bir şey kullanıyorsanız veya UIKit kodunun büyük parçalarına hızlı bir şekilde sahipseniz, bunu Objective-c olarak değiştirin, çok daha hızlı derlenir
Apple dün Xcode'un yeni beta sürümünü yayınladı (14 Kasım)
Xcode 8.2 beta 2
Ve bu sorun sürüm notunda çözüldü olarak işaretlenmiştir.
Sistem Oluştur
• Xcode, yalnızca küçük değişiklikler meydana geldiğinde tüm hedefi yeniden oluşturmayacaktır. (28892475)
Benim için çalışıyor. Derleme hızı her zamanki gibi geri geldi. Bu sorunla karşı karşıya olan herkes denemeli!
Lütfen projenin inşa ayarına gidin ve "C Dili Lehçesi" ni değiştirin.
Xcode sürümünü güncellediğinizde "C Dili Lehçesi" "Derleyici Varsayılanı" yerine "GNU99" olarak ayarlanır. Bir noktada Xcode, kitaplık proje ayarlarını doğru bir şekilde taşımadı ve bu nedenle GNU99'a ayarlandı. Bu sorunu çözecek
Swift dosyasında değişiklikler yaptıysanız uygulamayı oluşturmaya başlayın, son sekmeye gidin ve "Bağımlılıkları kontrol et" aşamasında derleme günlüğüne tıklayın, derlemeyi durdurun ve tekrar çalıştırın. İkinci çalıştırmada, yalnızca değiştirdiğiniz dosyaları oluşturmalıdır. Doğru yapılırsa her seferinde işe yaradığını buldum. Herhangi bir proje ayarı değişikliği yapmaya gerek yoktur.
Bu, Xcode'da bir hata gibi görünüyor.
Uygulamanın tam bir derleme yaptığını görürseniz, derlemeyi durdurun ve bu numarayı tekrar deneyin.
Kodda herhangi bir değişiklik yapmadıysanız, hata ayıklayıcı ekleyen uygulamayı oluşturmadan çalıştırmak için CMD + CTRL + R kullanın. Uygulama oluşturmaz, ancak gereksiz zaman kazanmanıza yardımcı olabilir.
Benim tarafımdan gelen sorun, "Örtülü Bağımlılıkları Bul" çözümüne işareti kaldırarak giderildi.
AMA, cocoapod kullanıyorsanız, bu ayarları pod projenize de seçerek uygulamak için unutmayın.
Ürün -> Şema -> Bölmeler- "ProjenizinAdı"
şunlarda da geçerlidir:
Ürün -> Şema -> "ProjenizinAdı"
Bana yardımcı oluyor, umarım bu ipucu başka birine yardımcı olur.
Teşekkürler
Şunları deneyin: 1. Projeye gidin 2. Oluşturma Ayarları'nı tıklayın 3. Hata ayıklama için Optimizasyon Düzeyi'nin Yok olarak ayarlandığını kontrol edin. 4. Kullanıcı Tanımlı Ayar Ekle'yi tıklayın. 5. SWIFT_WHOLE_MODULE_OPTIMIZATION'ı YES olarak ayarlayın.
xcode derleme süresini kısaltmak için IRAMDISK (Sanal bellek diski) kullanabilir. Derleme süresini azaltmak için çok kullanışlı ve etkili araçlar.
Ayrıca sık kullanılan uygulamayı hızlandırmak için de kullanabilirsiniz.
indirmek ve kullanmak için aşağıdaki bağlantıya bakın: http://iramdisk.findmysoft.com/mac/