Mam prywatny pod i prywatny repo spec. Służę kapsułę jako binarny, czyli podspec mówi:Pod instalacją nie powiodło się, ponieważ prywatny podsieci są podawane jako pliki binarne z prywatnego repo
s.source = {
:http => 'https://github.com/COMPANY/PROJECT/releases/download/v1.0/PrivatePod.zip'
}
My Podfile ma następującą informację źródło:
source 'https://github.com/CocoaPods/Specs.git'
source 'https://github.com/COMPANY/Specs.git'
Kiedy biegnę pod install
git prosi o podanie hasła do klonowania mój prywatny specyfikację repo, co jest świetne.
Jednak pod install
próbuje uzyskać binarnego pakietu zip przy użyciu curl
bez uwierzytelniania, więc GitHub powraca 404:
Installing PROJECT 1.0 (was 1.0)
[!] Error installing PROJECT [!] /usr/bin/curl -f -L -o /var/folders/_g/52mwshws60v8622n81hv7h7w0000gn/T/d20170608-80045-1l3flqz/file.zip https://github.com/COMPANY/PROJECT/releases/download/v1.1/PrivatePod.zip --create-dirs --netrc-optional
...
curl: (22) The requested URL returned error: 404 Not Found
Nie chcę, aby społeczeństwo binarny. Czy istnieje sposób, w jaki mogę powiedzieć CocoaPods, aby zrobił tu jakiś auth?
Próbowałem umieszczać poświadczenia w .netrc
, z którego CocoaPods wydaje się być zadowolony, ale GitHub wciąż nie spełnia żądania z 404, mimo że widzę teraz, że curl używa podstawowego uwierzytelnienia. Jeśli tworzę żądania API z curl za pomocą netrc dla auth, otrzymuję odpowiedzi w porządku. Ale nie mogę pobrać zasobu wydania.
Mogę pobrać zasób wydawania z punktu końcowego api za pomocą .netrc, ale tylko pod warunkiem, że określę -H 'Accept: application/octet-stream'
, czego nie widzę, jak mogę zrobić to CocoaPods.
Możliwe rozwiązanie: https://stackoverflow.com/questions/43885763/cocoapods-with-private-git-repository/43892558#43892558? – Larme
Widziałem to w kółko. Problem polega na tym, że musisz zatwierdzić pliki binarne wydań, zamiast korzystać z hostingu bitów Githuba niezawierających SCM. –
Obsługa GitHub mówi, że po prostu nie wspierają auth do pobrania wersji. Dodano ją do wewnętrznej listy żądań funkcji, która prawdopodobnie zostanie zignorowana na zawsze. No cóż. Odpowiedź: NIE MOŻLIWE. Hostuj to gówno gdzieś indziej. –