Share via


Xamarin.iOS Test ve Dağıtımı - Sorun Giderme

Kod İmzalama ve Sağlama

iOS ile Kod İmzalama ve Sağlama oldukça garip olabilir ve bu nedenle kod imzalama sertifikalarının ve sağlama profillerinin sıralı olduğundan emin olmak önemlidir.

  • Büyük ekiplerin Xcode'daki "Sorunu düzelt" düğmesini kullanmaktan kaçınması gerekir. Burada gösterilmiştir:

    The Fix Issues dialog

    Bu, yeni sağlama profilleri ve sertifikaları oluşturur. En iyi durumda bu, bir ekip üyesi her tıklayışında bir sağlama profili oluşturur ve profillerde düzensizleştirmeye neden olur. En kötü ihtimalle, şirketteki diğer herkes için sertifikaları iptal eder ve bu da uygulamalarının çalışmayı durdurmasına neden olur.

  • Anahtarlık Erişimi'ni düzenli tutun ve süresi dolan sertifikaları ve profilleri silin. Kurumsal sertifikalar üç yıl sürerken, diğerleri yalnızca bir yıl sürer. Sertifikalar yenilenemez, bu nedenle eski sertifikaların süresi dolmadan hemen önce yeni sertifikalar oluşturmanız gerekir. Eski sertifikaları iptal edip sildiğinizden emin olun ve uygulamaları yeni sertifikalarla yeniden imzalayın.

  • Yenileri yüklendikçe eski sağlama profillerini kaldırın. Bu, Mac için Visual Studio hangi profilin kullanılacağına karar vermek zorunda olduğu bir konumda olmadığı anlamına gelir. Bunu başarmak için önce Apple geliştirici merkezinden profili sildiğinizden emin olun ve ardından Tercihler > Hesabınızın > Görünüm Ayrıntıları.... bölümüne göz atın. Sağlama profilini seçin ve Bulucu'da Göster'e tıklayın. Bu, profilin Mac dosya sistemindeki konumunu gösterir ve daha sonra Finder kullanılarak silinebilir.

  • Gerekli tüm sertifikaların ve ilgili özel anahtarların kullanılabilir olduğundan emin olun. Her ekip için bir geliştirici sertifikası (uygulamaları kendi cihazına yüklemek için) ve bir dağıtım sertifikası (diğer cihazlara yüklemek için) gerekir

  • Yeni bir Sağlama Profili veya Sertifika yüklendiğinde Xcode ve Mac için Visual Studio / Visual Studio'yu yeniden başlatın.

TestFlight

Bazen test, planlandığı kadar sorunsuz gitmez. Aşağıdaki adımlar TestFlight ile ilgili sorunları çözmenize yardımcı olabilir:

  • TestFlight yalnızca iOS 8 ve üzerini hedefleyen uygulamalarda kullanılabilir.

  • Beta yetkilendirmesine sahip bir App Store dağıtım profili olmalıdır.

  • Yeni iOS Uygulaması gönderme penceresi, uygulamanın Info.plist dosyasıyla tam olarak aynı bilgileri içermelidir ve tüm bölümlerin doldurulması gerekir. TestFlight'a yüklenmeden önce uygulama için simgeler belirtilmelidir.

  • Yeni bir derlemeyi karşıya yüklerken, derlemenin iTunes Bağlan'de görünmesi 1 ila 5 dakika arasında bir süre alır.

  • Uygulamanızın her Sürümü için TestFlight Beta Test anahtarı açık olmalıdır.

  • Aynı zamanda bir iç testçi olan geliştirici ekibinin her üyesinin İç TestÇi anahtarının açık olması gerekir.

  • Başka bir iTunes Bağlan hesabına ait veya bu hesaba sahip olan kullanıcılar dahili test edici olamaz. Bunlar yalnızca dış test edici olarak eklenebilir.

  • İç ve Dış kullanıcılar ayrı olarak eklenir, seçilir ve davet edilir. Her liste ayrı ayrı yönetilmelidir.

  • Apple'ın dış test edicilere dağıtılacak her derlemeyi onaylaması gerekir. Bir derlemenin sürümü değişirse, Apple tarafından yeni bir beta incelemesi gerekir. Derleme numarası değişirse gözden geçirme isteğe bağlıdır.

  • Meta veriler, dış test edicilere dağıtılan derlemelere eklenmelidir. Bu, ön sürüm Uygulamalarım > derleme numarasına tıklanarak erişilebilir.

  • Her gün gözden geçirme için yalnızca iki derleme gönderilebilir. Sürümü değiştirmek gözden geçirmeyi zorlar, bu da sürüm numaralarının günde yalnızca iki kez değiştirilebileceği anlamına gelir.

.app paketlerini otomatik olarak Windows'a geri kopyalama

Visual Studio'da ve Mac Derleme aracısında iOS uygulamaları oluştururken, .app paketi Windows makinesine geri kopyalanmaz. Visual Studio 7.4 için Xamarin Araçları, CI derlemelerinin .app paketleri Windows'a geri kopyalamasına olanak tanıyan yeni CopyAppBundle bir özellik ekler.

Bu işlevi kullanmak için, bu işlevi uygulamak istediğiniz özellik grubunun altındaki .csproj'a özelliğini ekleyinCopyAppBundle . Örneğin, aşağıdaki örnekte i Telefon Simulator'ı hedefleyen bir Hata Ayıklama derlemesi için .app paketinin Windows bilgisayarına nasıl geri kopyalanacağını gösterilmektedir:

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|iPhoneSimulator' ">
    <CopyAppBundle>true</CopyAppBundle>
</PropertyGroup>