2015-04-19 16 views

cevap

6

Sen kullanamazsınız: -iOS7 ile

use_frameworks!

.

+1

Netleştirmek için, bu, CocoaPod'leri kullanarak Swift'de iOS 7+'yi destekleyen bir proje oluşturamayacağınız anlamına geliyor, değil mi? –

14

Hayır öyle değil. use_frameworks!, yeni dynamic frameworks kodunuzu oluşturarak Swift desteğini etkinleştirir. Dinamik çerçeveler yalnızca iOS 8'i desteklemektedir. Ne yazık ki, Swift'i statik kitaplıklarda kullanamıyorsanız (önceki şekilde CocoaPods'ın birlikte gelen kütüphaneleri), Swift dosyalarını paketlemenin tek yolu buydu.

4

UPDATE: Anlaşıldı, aslında dinamik çerçeveleri iOS 7'de dağıtabiliyorsunuz. Muhtemelen olsa da, Cocoapod'larla değil. Talimatlar (teşekkürler, @ user102008!): Deploying a Containing App to Older Versions of iOS. Bu güncelleme orijinal soruya gerçekten cevap vermiyor, ancak eski cevabımı yeni bir bilgiye dayanarak açıklığa kavuşturmak için eklendi.


Bir inanıyorum ki, bir cevap olması için yeterince önemlidir. Dinamik çerçeveler aslında iOS 7'de desteklenir ve iOS 7 cihazında dinamik çerçeveleri kullanarak kod çalıştırabilirsiniz. Ancak, iOS 7, adil oyun şifreli üçüncü taraf çerçevelerini desteklemez. Ve bunun nedeni, iOS7 için iTunesConnect uygulamasına dinamik çerçeveler kullanarak bir uygulama göndermeyi denerseniz, reddedilir (one prooflink).

Bunun önemli olduğunu düşünüyorum çünkü işe yarayabilir gibi görünebilir, ancak öyle değil. Ve eğer uyarıyı görmezden gelirseniz, projenin yarısı Swift'de olduğu zaman, problemle çok geç karşılaşabilirsiniz.

Kendi sorunumuzu geliştirmeye başladığımızda bu problemle karşı karşıya kaldık. Proje, iOS 7'de derlendi ve iyi çalıştı. İyi bir şey, biz bu konuyu daha fazla araştırdık.

+1

"iOS7'ye dinamik çerçeveler kullanarak iTunesConnect uygulamasına bir uygulama göndermeye çalıştıysanız, bu durum reddedilir" iOS 7'yi hedefleyen uygulama mağazasına gönderilen bir uygulamanın dinamik çerçevelere sahip olamayacağı doğru değildir. Evet, uygulama, oluşturma zamanında dinamik çerçeveye bağlanırsa reddedilir. Ancak [Apple talimatları içerir] (https://developer.apple.com/library/content/documentation/General/Conceptual/ExtensibilityPG/ExtensionScenarios.html#//apple_ref/doc/uid/TP40014214-CH21-SW3) nasıl yapılır oluşturma süresinde bağlantı kurmaz, ancak yalnızca iOS 8+ üzerinde çalışırken "dlopen" işlevini kullanarak çalışma zamanında dinamik olarak bağlar. – user102008

+0

@ user102008 Teşekkürler! Bunu bilmiyordum. Bilmek güzel. Bu bilgileri içerecek şekilde cevabı güncelledim. – FreeNickname