Frameworks/JavaScriptCore.framework
için uygulama bağlantılar hedef bir IOS 7 dağıtım ile JavaScriptCore çerçeve bağlama:
otool -L -arch armv7 MyApp
MyApp:
/System/Library/Frameworks/JavaScriptCore.framework/JavaScriptCore (compatibility version 1.0.0, current version 537.51.2)
/System/Library/Frameworks/UIKit.framework/UIKit (compatibility version 1.0.0, current version 2935.137.0)
...
PrivateFrameworks/JavaScriptCore.framework
için uygulama bağlantılar hedef bir IOS 6 dağıtım ile JavaScriptCore çerçeve bağlama :
otool -L -arch armv7 MyApp
MyApp:
/System/Library/PrivateFrameworks/JavaScriptCore.framework/JavaScriptCore (compatibility version 1.0.0, current version 537.51.2)
/System/Library/Frameworks/UIKit.framework/UIKit (compatibility version 1.0.0, current version 2935.137.0)
...
Bu, çünkü Ja vaScriptCore çerçevesi onun dylib dağıtım hedef sürümüne bağlı yükleme yolu değiştirmek için bağlayıcı talimat special symbols sahiptir:
nm JavaScriptCore.framework/JavaScriptCore | grep '\$ld\$'
00000000003959a0 S $ld$install_name$os4.3$/System/Library/PrivateFrameworks/JavaScriptCore.framework/JavaScriptCore
00000000003959a1 S $ld$install_name$os5.0$/System/Library/PrivateFrameworks/JavaScriptCore.framework/JavaScriptCore
00000000003959a2 S $ld$install_name$os5.1$/System/Library/PrivateFrameworks/JavaScriptCore.framework/JavaScriptCore
00000000003959a3 S $ld$install_name$os6.0$/System/Library/PrivateFrameworks/JavaScriptCore.framework/JavaScriptCore
00000000003959a4 S $ld$install_name$os6.1$/System/Library/PrivateFrameworks/JavaScriptCore.framework/JavaScriptCore
JavaScriptCore çerçeve 6.1'e iOS 4.3 PrivateFrameworks
dizinde kullanılabilir böylece uygulama başlangıçta orada bulur . Uygulamanın her iki iOS 6 üzerinde çalışabilir ve 7.
yerde belgelenen olmasa da bu açıkça JavaScriptCore çerçevesine geriye dönük uyumluluk eklemek Apple kasıtlı bir hareket olduğunu, böylece iOS 7 günü, PrivateFrameworks/JavaScriptCore.framework
Frameworks/JavaScriptCore.framework
sembolik bağlantıdır. Ancak Maalesef, App Store doğrulama ekibi, PrivateFrameworks
dizininde bir çerçeve kullandıkları için JavaScriptCore ekibinden ve JavaScriptCore çerçevesini bağlayan ve iOS'u 7 will be rejected'un altına hedefleyen uygulamalardan not almamışlardır. Apple'ın bu sorunu çözmesini istiyorsanız lütfen rdar://problem/17076670'u kopyalayın. Bu arada
, sen projenizden JavaScriptCore çerçevesini kaldırma ve yerine aşağıdaki
Diğer Bağlayıcı Flags kullanarak reddini geçici bir çözüm bulabilirler
-Wl,-U,_JSGlobalContextCreate
-Wl,-U,_JSGlobalContextRelease
Bu söyler (Alacağınız her tanımsız sembol hata için adapte) sembolleri dinamik olarak çözmek için bağlayıcı. JavaScriptCore çerçevesi, UIKit → WebKit → JavaScriptCore aracılığıyla her zaman dolaylı olarak yüklendiğinden, semboller çalışma zamanında çok iyi bir şekilde çözer ve JavaScriptCore çerçevesini artık açıkça ilişkilendirmediğinden uygulamanız reddedilmemelidir.
İnanamıyorum! – loretoparisi
Bahse girerim orada da LGPL uyumluluğu ile ilgili bir şey var. – fluffy
LGPL uyumluluğunun, sadece SDK uyuşmazlığı meselesiyle ilgisi olmadığı konusunda oldukça eminim. – 0xced