2015-10-30 11 views
11

Bunu sormak için doğru yer olup olmadığından emin değilim, bu yüzden yanlış bölümü kullanıyorum özür dilerim.İkili reddedildi çünkü geçersiz sembolik link, herhangi bir fikir?

Invalid Symlink - Your package contains a symbolic link 'PlugIns/$REDACTED_WATCHKIT_EXTENSION_TARGET_NAME$.appex/$REDACTED_WATCHKIT_EXTENSION_TARGET_NAME$.appex' which resolves to a location '/Users/$REDACTED_USER$/Library/Developer/Xcode/DerivedData/Seta-ctfzptralingvtbxhssdlkkzkclw/Build/Intermediates/ArchiveIntermediates/Seta/IntermediateBuildFilesPath/UninstalledProducts/iphoneos/$REDACTED_WATCHKIT_EXTENSION_TARGET_NAME$.appex' that does not exist or is outside of the package. 

bizim proje olarak aynı ayarlarla boş bir Xcode proje oluşturarak hatayı yeniden çalıştı, ama yapamadım: Biz iTunes Connect bizim uygulamayı göndererek sorunları yaşıyorsanız, elimizdeki eposta diyor iTunes Connect'ten aynı hatayı al. Bu link bağlantısının neden yaratıldığına dair bir fikri olan var mı? Boş projenin .ipa'sını kontrol ettim ve o yoldaki bu sembolik bağlantıyı içermedim, bu yüzden bu yanlış anlaşılıyor ama ben sembolik bağlantı oluşturmakta olan yapı ayarını/yapılandırmasını bulamıyorum.

Ben xcodebuild çıktı kontrol edildi ve bunu buldum:

SymLink build/SetaWatchKitExtension.appex /Users/$REDACTED_USER$/Library/Developer/Xcode/DerivedData/Seta-ctfzptralingvtbxhssdlkkzkclw/Build/Intermediates/ArchiveIntermediates/Seta/IntermediateBuildFilesPath/UninstalledProducts/iphoneos/SetaWatchKitExtension.appex 
    cd $REDACTED_PROJECT_PATH$ 
    export PATH="/Applications/Xcode-7.1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode-7.1.app/Contents/Developer/usr/bin:$REDACTED_PATH_ENV_VARIABLE$" 
    /bin/ln -sfh /Users/$REDACTED_USER$/Library/Developer/Xcode/DerivedData/Seta-ctfzptralingvtbxhssdlkkzkclw/Build/Intermediates/ArchiveIntermediates/Seta/IntermediateBuildFilesPath/UninstalledProducts/iphoneos/$REDACTED_WATCHKIT_EXTENSION_TARGET_NAME$.appex /Users/$REDACTED_USER$/Documents/$REDACTED_PATH$/build/$REDACTED_WATCHKIT_EXTENSION_TARGET_NAME$.appex 

iyi olacak gibi görünüyor Hangi, ama bir şekilde o sembolik bağı yanlıştır .ipa içine biter. Bu, ürün yapısı oluşturulduktan sonra ve kitle uzantısı oluşturma hedefi adımı sırasında CompileSwiftSources'ten önce gerçekleşir.

Herhangi bir ipucu veya yardım büyük beğeni topluyor. Xcode 7.1 kullanıyorum.

+0

Bu [yanıtı] gözden geçirin (http://stackoverflow.com/questions/13399864/adding-a-symbolic-link-in-the-application-bundle), belki size yardımcı olur. – Granit

+0

Yardımın için teşekkürler, daha önce cevabı kontrol ettim ama sorunumuzla ilgili değil, bu geçici çözümü hiç bir zaman ilk etapta kullanmadık. – Ruenzuo

+0

Tüm kodunuzu sorunu olmayan boş projeye taşımaya çalıştınız mı? – Locksleyu

cevap

2

Biz DTS bilet kullanmak zorunda kaldı ve biz Apple'dan şu yanıtı aldı: Xcode yaratıyor

çalışır
Thank you for contacting Apple Developer Technical Support (DTS). 

The issue seems to happen when you pass CONFIGURATION_BUILD_DIR=$PWD/build to the xcodebuild command. Instead, try removing CONFIGURATION_BUILD_DIR from the xcodebuild command, and instead, change your build location in your Workspace settings. Follow these steps: 

1. In the xcodebuild command, remove CONFIGURATION_BUILD_DIR=$PWD/build 
2. Open your Workspace in Xcode 
3. Select File > Workspace Settings 
4. Click the Advanced button 
5. Select Custom > Relative to Workspace 
6. Click the Done buttons 

This will cause the build products to still go in your build directory, and the symlink in the WatchKit Extension is no longer created. 

, üzücü şey bu ayarlar komut satırı araçları tarafından uygulanamaz olduğunu aşağıdaki yolda bir dosya:

Project.workspace/xcuserdata/$USER.xcuserdatad/WorkspaceSettings.xcsettings 

ve açıkçası, kendi VCS bu yolu eklemek istemiyorum, bu yüzden bizim CI doğru ayarları ekleyip Bunu önlemek için küçük yakut senaryoyu oluşturuldu:

settingsFilePath = "#{ENV["PWD"]}/Project.xcworkspace/xcuserdata/#{ENV["USER"]}.xcuserdatad" 
FileUtils.mkpath(settingsFilePath) 

settings = {'BuildLocationStyle' => 'CustomLocation', 'CustomBuildIntermediatesPath' => 'Build/Intermediates', 'CustomBuildLocationType' => 'RelativeToWorkspace', 'CustomBuildProductsPath' => 'Build/Products'} 
File.open("#{settingsFilePath}/WorkspaceSettings.xcsettings", 'w') { |file| file.write(settings.to_plist) } 
0

Doğrudan .xcarchive dosyanızı açmayı deneyin (pencere-> düzenleyici-> arşivi seçin-> sağ tıklama-> bulucuda göster).

Herhangi bir symlinks bulun ve neden orada göründüğünü anlamaya çalışın.

Bu, kosapodlarla ilgili sorun olabilir (bölmeler kullanıyorsanız). Koapapodları güncellemeye çalışın.

+0

Bunu zaten yaptım, sembolik bağlantı var ve xcodebuild günlüğünde oluşturulduğu oluşturma adımını buldum, sadece xcodebuild'in neden bu sembolik bağlantıyı oluşturduğunu anlayamıyorum. – Ruenzuo

İlgili konular