2016-01-27 20 views
15

Şu anda aynı uygulamanın 3 farklı sürümüne sahip bir projem var (farklı markalama ve benzeri), ki bunlar gayet iyi çalışıyor. O zamandan beri 3 yeni Apple Watch hedefi ekledim (her bir "sürüm" için 1 tane), bunlardan 2 tanesi "ana" Apple Watch hedefindeki dosyaları referans alıyor.Apple Watch storyboard'u değiştirmek için önceden oluştur eylem Birincil referanslar

Herşey sürece ben karşılık gelen watchkit uzantısı hedefine doğru arayüz kontrolörü eşleştiren, böylece her bir hikaye akışı görünüm için modül başvuru değiştirmeyi unutmayın olarak çalışıyor.

Ancak, ben/işletilen bir uygulama sürümü/hedef oluşturmak için gereken bu her zaman geçiş yapmak hatırlayarak bir ağrı ve gerçekten uzun vadeli bir çözümdür.

Ben o derlenmiş geçmesinin film şeridi başvuruları değiştirir öyle ki, doğru zamanda çalıştırmak istediğiniz aşağıdaki komutu oluşturduk.

perl -pi.bak -e 's/customModule=\"(.*?)\">/customModule=\"watchMyTarget_Extension\">/g' ${SRCROOT}/watch/Base.lproj/Interface.storyboard 

Ben de muhtemelen uygulama derlendi sonra yaklaşık git şikayet için bir dosya değişiklik istemiyoruz çünkü değişikliği sıfırlamak isteyeyim sonucuna varmıştır. Bu nedenle, yukarıda belirtilen betik bir .bak dosyası oluşturur. derleme yapmış ve paketlenmiş/cihaz veya her neyse çalıştırılan Yani sonra ben yapmadım hedefin (watchTarget değil appTarget) düzeni kurmak, Build->Pre/Post Actions komut dosyaları yerleştirerek denedim

mv ${SRCROOT}/watch/Base.lproj/Interface.storyboard.bak ${SRCROOT}/watch/Base.lproj/Interface.storyboard 

çalıştırmak istediğiniz herhangi bir etkisi var gibi görünüyor. Ve bir dereceye kadar çalışmış olan Run->Pre/Post Actions'a koymaya çalıştım ama uygulama simülatöre itilmeden ve böylece uygulamayı çökerttikten sonra ("cihaz günlüklerini göremedim" veya böyle bir şey yapamadan) harekete geçme eylemi gibi görünüyordu.

Peki yeryüzünde onları inşa sürecinde doğru zamanda çalıştırmak için bu komut dosyalarını koymak gerekir?

cevap

2
siz, hedefin Yapı Aşamada Yeni Run Script Aşama eklemek kullanmak Derleme Kaynaklar

Adımlar önce yerleştirmelidir

: (Apple itibaren)

  1. proje düzenleyicisinde, hedef seçmek hangi kod çalıştırması oluşturma aşaması eklemek istiyorsunuz.
  2. Proje editörünün en üstünde Oluşturma Aşamaları'nı tıklatın.
  3. Düzen> Oluşturma Aşaması Ekle> Çalıştır Komut Dosyası Oluşturma Aşaması'nı seçin.
  4. Proje düzenleyicide Çalıştır Komut Dosyası bölümünü açıklayın.
  5. Komut dosyasını Çalıştırma Komut Dosyası şablonunda yapılandırın.
+0

Bunu başarılı olmadan denedim. Yapmadan önce ve sonra çalıştırmak için ihtiyacım var.Watch storyboard'u saat hedefini oluşturmaya başlamadan önce değiştirmek ve daha sonra – tskulbru

+0

@tskulbru kurulduktan sonra bunu değiştirmek gerektiğinden, arşivi temizledikten sonra temizleyin. . – Allen

+0

Ana uygulama oluşturma şemasından temizleme için derleme/arşiv vb. Işlemlerini kullanmayı denedim ama bazı nedenlerden ötürü yeterince geç olmadı ve değişiklikler, daha sonra o zamandan beri yüklenemedi. Doğru değişikliklere sahip olmak. – tskulbru

0

Çözümümün xxx_watch_extension, örneğin, aynı değere Ürün modül adı ayarı, Yapı ayarları her saat uzatma hedefin gitmektir. Öyleyse bu modülü senaryo tahtasında özel sınıflar için seçebilmeliyiz.

Benim için iyi çalışıyor.

İlgili konular