en iyi şekilde iOS ayarları için lisans bölümü eklemek için paket
İOS uygulamam üçüncü parti bileşenler Apache 2.0 ve beni metin çeşitli bit, bu tür bir şey eklemek gerekir ki benzer bir lisans altında lisanslı bir dizi kullanır:
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
Bir 'Lisans' ayarları paket (ipad facebook sayfaları, açılış, sayılar ve wikipanion tüm bu yapmak gibi) alt giriş. altında bu bilgileri koymak için makul bir emsal var
Ben mücadeleci bir bit için aslında elde aynı olsa da; sanırım gerek bölünmüş metin satır satır ve içine girin " Güncellemelerinden bir satırında bir zaman (ve xcode4 gibi görünüyor çökmesini bir sorun olduğunda düzenleme plists).
Neredeyse kesinlikle bir yerlerde bir senaryo, ya da ben kaçırmıştım bunu yapmak için bazı basit bir yolu var bir şey gibi görünüyor.
CEVAP
Şimdi koşuyordum tüm sorunları çözmek için yönetilen düşünüyorum.
- En iyi grup eleman başlıklar lisansları (bu Apple çalışıyorum uygulamalar içinde ne olduğunu) tutmak için kullanmak gibi görünüyor. Ancak bu uzunluğu (ve henüz sınırı tam olarak keşfettim) bir sınırı yoktur, birden çok dize halinde her bir lisans dosyası kırmak gerekir.
- Edebi bir satır başı (yani. bu içinde bir satır sonu oluşturabilirsiniz aksi halde ^M, \r veya 0x0A) olarak bilinir
- Emin herhangi bir edebi vardır yapmak değil "mid-metin s. Eğer bunu yaparsanız, dosya içinde dizeleri bazı veya tüm sessizce göz ardı alacak.
Bu üretmek için kullanıyorum kullanışlı bir script var .plist ve .dizeleri dosya, aşağıda gösterildiği.
Kullanmak için:
- Bir 'lisans' projesi kapsamında . dizin oluşturma
- Bu dizine script koymak
- Bu dizin, dosya başına bir dosya ile bu amaçla her lisans koy .lisans
- Lisansları gerekli herhangi bir yeniden biçimlendirme gerçekleştirmek. (örn. satır başında fazladan boşluk, orta paragraf satır sonu yok emin olun) çıkarın. -Her paragraf arasında bir boş satır olmalıdır
- Lisans dizini değiştirin ve komut dosyasını çalıştırın
- Ayarlarınızı paket Kök düzenleyin.alt bölüm adı eklemek için plist 'Teşekkür'
Ä°ÅŸte senaryo:
#!/usr/bin/perl -w
use strict;
my $out = "../Settings.bundle/en.lproj/Acknowledgements.strings";
my $plistout = "../Settings.bundle/Acknowledgements.plist";
unlink $out;
open(my $outfh, '>', $out) or die $!;
open(my $plistfh, '>', $plistout) or die $!;
print $plistfh <<'EOD';
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>StringsTable</key>
<string>Acknowledgements</string>
<key>PreferenceSpecifiers</key>
<array>
EOD
for my $i (sort glob("*.license"))
{
my $value=`cat $i`;
$value =~ s/\r//g;
$value =~ s/\n/\r/g;
$value =~ s/[ \t] \r/\r/g;
$value =~ s/\"/\'/g;
my $key=$i;
$key =~ s/\.license$//;
my $cnt = 1;
my $keynum = $key;
for my $str (split /\r\r/, $value)
{
print $plistfh <<"EOD";
<dict>
<key>Type</key>
<string>PSGroupSpecifier</string>
<key>Title</key>
<string>$keynum</string>
</dict>
EOD
print $outfh "\"$keynum\" = \"$str\";\n";
$keynum = $key.( $cnt);
}
}
print $plistfh <<'EOD';
</array>
</dict>
</plist>
EOD
close($outfh);
close($plistfh);
Ayarlarınızı ayarlama.bundle
Ayarlar oluÅŸturduÄŸunuz deÄŸil varsa.paket, -- ^ Dosya gidin . Yeni -->Yeni Dosya...
Kaynak bölümünde, Ayarları Paket bulmak. Varsayılan adı kullanın ve projenizin kök dizinine kaydedin.
Settings.bundle
grubu geniÅŸletin ve Root.plist
seçin. Anahtar 8 ** türü Preference Items
olacak yeni bir bölüm eklemek gerekir. Aşağıdaki bilgileri ekleyin:
Filename
tuşuna bu komut tarafından oluşturulan plist işaret eder. İstediğin title
deÄŸiÅŸtirebilirsiniz.
Yapı Anda Çalıştırabiliriz
Eğer bu senaryo projenizi oluşturduğunuz zaman çalıştırmak istiyorsanız ayrıca, size hedef için inşa aşaması ekleyebilirsiniz:
- Proje dosyasına git
- Hedef seçin
- Tıklayın Evreleri sekme Oluştur
- Bu bölmenin sağ alt köşesinde tıklayın 'Faz Ekleyin İnşa'
- 'Komut Dosyası Ekle' Seçeneğini Seçin
- Ve size senaryo için bölüme perl script sürükleyip bırakın. Değiştir böyle bir şey için:
1 cd /Kullanıcılar/Kullanıcı adı/Proje/lisans
2 ./yourScriptName.pl
Hızlı ipucu: Eğer projeniz yolu boşluk içeriyorsa, \
karakter ile onları kaçmak için emin olun. Bu gibi:
/Kullanıcılar/Kullanıcı adı/Apps/\ iPhone\/lisans Proje/Belgeler
Bunu bitirdikten sonra, Run Script
er faz inşa sürecinde yapı sürükleyebilirsiniz. Bu Ayarları güncelleştirmeleri Paket derlenmiş ve kopyalanan yüzden o Compile Sources
önce yukarı taşımak istiyorum.
İOS için güncelleme 7:iOS 7 "Başlık" farklı anahtar ve işlenen metin kurcalıyor. kolu gibi görünüyor Oluşturulan Bildirimleri düzeltmek için.plist kullanması gerekir "yerine" Başlık". anahtar FooterText Senaryoyu değiştirmek için nasıl:
for my $str (split /\r\r/, $value)
{
print $plistfh <<"EOD";
<dict>
<key>Type</key>
<string>PSGroupSpecifier</string>
<key>FooterText</key> # <= here is the change
<string>$keynum</string>
</dict>
EOD
print $outfh "\"$keynum\" = \"$str\";\n";
$keynum = $key.( $cnt);
}
Bir ÅŸekilde git sadece belirli dosyala...
Bir ÅŸekilde otomatik olarak nuget.exe ...
Svn eklemek için uygun şekilde yürütül...
En iyi şekilde dosya türü ayarları düz...
Bir şekilde Android üzerinde Python ça...