Hoe kan ik een iPhone-applicatie van Xcode implementeren op een echt iPhone-apparaat?

Hoe kan ik een iPhone-applicatie van Xcode naar een echt iPhone-apparaat implementeren zonder een Apple-certificaat van $ 99 te hebben?


Antwoord 1, autoriteit 100%

Ik heb een combinatie van twee howto’s gebruikt: Jason’sen alex’s. Met de tweede hebben we het voordeel dat we kunnen debuggen. Ik zal meestal beide hieronder kopiëren (en die van Alex vereenvoudigen):

Update januari 2012:dit werkt nog steeds op SDK 4.2.1 en iOS 5.0.1 – ik heb het net allemaal getest op een nieuwe computer en apparaat!


1. Zelfondertekend certificaat maken

Patch uw iPhone SDK om het gebruik van dit certificaat toe te staan:

  1. Start Keychain Access.app. Als er geen items zijn geselecteerd, selecteert u in het Sleutelhanger-menu Certificaatassistent en vervolgens Een certificaat maken.

    • Naam:iPhone-ontwikkelaar
    • Certificaattype:Code-ondertekening
    • Laat mij de standaardinstellingen overschrijven:Ja
  2. Klik op Doorgaan

    • Geldigheid:3650 dagen
  3. Klik op Doorgaan

  4. Leeghet veld E-mailadres.

  5. Klik op Doorgaan tot voltooid.

    Je zou “Dit basiscertificaat is niet vertrouwd”moeten zien. Dit wordt verwacht.

  6. Stel de iPhone SDK zo in dat het zelfondertekende certificaat kan worden gebruikt:

    sudo /usr/bin/sed -i .bak 's/XCiPhoneOSCodeSignContext/XCCodeSignContext/' /Developer/Platforms/iPhoneOS.platform/Info.plist
    

    Als je Xcode open hebt staan, herstart het dan om deze wijziging door te voeren.

En als je iOS 5 gebruikt, is dat het! Probeer het nu! Het staat debuggen misschien niet toe, maar de app zal er zijn!

Ik was hierdoor erg verrast omdat, zoals je zou moeten weten, ik heb geen idee waar al die hacks over gaan! Het enige wat ik deed was een beetje verbeteren wat ik elders vond, zoals ik al aangaf.

Dus ja, de hele methodewerkt niet meer op dezelfde manier en ik kon niet de moeite nemen om een ​​nieuwe te vinden… Behalve dit, dat een tool gebruikt genaamd Theosmaar ik kon er niet doorheen gaan het hele proces.

Ten slotte, als je de installatie ongedaan moet makenom wat voor reden dan ook, kijk dan aan het einde van dit bericht. In mijn geval moest ik dat wel omdat ik er niet achter kon komen waarom al het blauw van deze hele methode niet meer werkte, en het kon me niet meer schelen omdat we de lang gewachte licentie al hebben. (Freaking DUNS-nummer duurt zo lang…)

.

.


.

.

.

2. Schakel Xcode’s in om te bouwen op een gejailbreakt apparaat

  1. Installeer op je gejailbreakte iPhone de app AppSyncdoor source ** toe te voegen http ://repo.hackyouriphone.org**

  2. Verwijder SDK-vereisten voor codetekens en rechten (ik ben dol op sed!):

    sudo /usr/bin/sed -i .bak '/_REQUIRED/N;s/YES/NO/' /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk/SDKSettings.plist
    
  3. Let opop het gedeelte iPhoneOS5.0.sdk. Als u bijvoorbeeld iOS 4.2 SDK gebruikt, vervangt u deze dienovereenkomstig:

    sudo /usr/bin/sed -i .bak '/_REQUIRED/N;s/YES/NO/' /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/SDKSettings.plist
    
  4. Sluit de verwijdering van de vereisten af ​​door Xcode te patchen. Dit betekent binaire bewerking:

    cd /Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Plug-ins/iPhoneOS\ Build\ System\ Support.xcplugin/Contents/MacOS/
    dd if=iPhoneOS\ Build\ System\ Support of=working bs=500 count=255
    printf "\xc3\x26\x00\x00" >> working
    /bin/mv -n iPhoneOS\ Build\ System\ Support iPhoneOS\ Build\ System\ Support.original
    /bin/mv working iPhoneOS\ Build\ System\ Support
    chmod a+x iPhoneOS\ Build\ System\ Support
    

    Als u Xcode open heeft staan, start u deze opnieuw op om deze wijziging (en de laatste) door te voeren.

  5. Open ‘Project>Projectinstellingen bewerken’(vanuit het menu). Klik op het tabblad “Build”.
    Zoek “Code Signing Identity”en het onderliggende “Any iPhoneOS Device”in de lijst en stel beide in op “Do not Code Sign “:

    alt-tekst

    Voel je hierna vrij om stap 3 ongedaan te maken. In mijn geval ging het in ieder geval prima.

  6. Xcode instellen op codetekenen met ons op maat gemaakte zelfondertekende certificaat(de eerste how-to). Deze stap kan waarschijnlijk worden overgeslagen als u niet wilt kunnen debuggen:

    mkdir /Developer/iphoneentitlements401
    cd /Developer/iphoneentitlements401
    curl -O http://www.alexwhittemore.com/iphone/gen_entitlements.txt
    mv gen_entitlements.txt gen_entitlements.py
    chmod 777 gen_entitlements.py
    

    Sluit je iPhone aan en open Xcode. Open Window>Organizer. Selecteer het apparaat in de lijst aan de linkerkant en klik op ‘Gebruiken voor ontwikkeling’. U wordt gevraagd om in te loggen op de inrichtingswebsite, klik op Annuleren. Het is er om legitieme provisioning gemakkelijker te maken, maar maakt illegale niet-provisioning niet moeilijker.

    Nu Je moet dit laatste deel doen voor elk nieuw project dat je maakt. Ga naar het menu Project > Nieuwbouwfase > Nieuwe fase voor het bouwen van scripts. Kopieer/plak dit in het venster:

    export CODESIGN_ALLOCATE=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocate
    if [ "${PLATFORM_NAME}" == "iphoneos" ]; then
    /Developer/iphoneentitlements401/gen_entitlements.py "my.company.${PROJECT_NAME}" "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/${PROJECT_NAME}.xcent";
    codesign -f -s "iPhone Developer" --entitlements "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/${PROJECT_NAME}.xcent" "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/"
    fi
    

.

.


.

.

Verwijderen

Voor het eerste deel:

sudo mv -f /Developer/Platforms/iPhoneOS.platform/Info.plist.bak /Developer/Platforms/iPhoneOS.platform/Info.plist

Voor het 2e deel:

sudo mv -f /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk/SDKSettings.plist.bak /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk/SDKSettings.plist
sudo mv -f iPhoneOS\ Build\ System\ Support.original iPhoneOS\ Build\ System\ Support

als je stap 3 hebt gedaan in plaats van 2, pas het dan ook gewoon dienovereenkomstig aan:

sudo mv -f /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/SDKSettings.plist.bak /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/SDKSettings.plist

voor de rest, is gewoon terugzetten wat je deed op XCode en /Developer/iphoneentitlements401/gen_entitlements.pyverwijderen als je wilt:

sudo rm -f /Developer/iphoneentitlements401/gen_entitlements.py

Antwoord 2, autoriteit 61%

Het lijkt erop dat de aanvraag niet is ondertekend. Download ldid van Cydia en gebruik het dan als volgt: ldid -S /Applications/AccelerometerGraph.app/AccelerometerGraph

Zorg er ook voor dat het binaire bestand is gemarkeerd als uitvoerbaar: chmod +x /Applications/AccelerometerGraph.app/AccelerometerGraph


Antwoord 3, autoriteit 52%

Gratis provisioning na Xcode 7

Om je app op een echt apparaat te testen in plaats van de Apple Developer-vergoeding te betalen (of je apparaat te jailbreaken), kun je de nieuwe gratis voorzieningen gebruiken die Xcode 7 en iOS 9 ondersteunen.

Dit zijn de min of meer genomen stappen van de documentatie(wat best goed is, dus lees het eens):

1. Voeg uw Apple ID toe in Xcode

Ga naar XCode > Voorkeuren > Tabblad Accounts > Knop Toevoegen (+) > Apple-ID toevoegen. Zie de documentenvoor meer hulp.

voer hier de afbeeldingsbeschrijving in

2. Klik op het tabblad Algemeen in de projectnavigator

voer hier de afbeeldingsbeschrijving in

3. Kies je Apple ID in het pop-upmenu Team.

voer hier de afbeeldingsbeschrijving in

4. Verbind je apparaat en kies het in het schemamenu.

voer hier de afbeeldingsbeschrijving in

5. Klik op de knop Problemen oplossen

voer hier de afbeeldingsbeschrijving in

Als je een foutmelding krijgt dat de bundelnaam ongeldig is, verander deze dan in iets unieks.

6. Voer uw app uit

Klik in Xcode op de knop Bouwen en uitvoeren.

voer hier de afbeeldingsbeschrijving in

7. Vertrouw de app-ontwikkelaar in de apparaatinstellingen

Nadat je je app hebt uitgevoerd, krijg je een beveiligingsfout omdat de app die je wilt gebruiken niet uit de App Store komt.

voer hier de afbeeldingsbeschrijving in

Ga op uw apparaatnaar Instellingen > Algemeen > Profiel > uw-Apple-ID-naam> Vertrouw op uw-Apple-ID-naam> Vertrouwen.

8. Voer uw app opnieuw uit op uw apparaat.

Dat is het. Je kunt nu je eigen (of andere apps waarvoor je de broncode hebt) draaien zonder de $ 99 dollar te hoeven betalen. Bedankt, Apple, dat je dit eindelijk hebt toegestaan.


Antwoord 4, autoriteit 10%

Dat kan niet, niet als je het hebt over applicaties die zijn gebouwd met de officiële SDK en rechtstreeks vanuit xcode worden geïmplementeerd.


Antwoord 5, autoriteit 9%

Je moet je apparaat jailbreaken.


Antwoord 6, autoriteit 7%

Er is een manier om iPhone-apps te implementeren zonder aan Apple te betalen
Je moet je apparaat jailbreaken en de instructies volgen in http://www.alexwhittemore.com/? p=398


Antwoord 7, autoriteit 5%

Niets dat ik ergens heb gezien, wijst erop dat je ad-hoc kunt implementeren op een echte iPhone zonder (betaald) certificaat.


Antwoord 8, autoriteit 4%

Ik ging gisteravond door de Apple-ontwikkelaar en daar in het provisioning-certificaat dat ik zoiets heb gevonden – “Ondertekenings teamleden”. Ik denk dat er een manier is om teamleden toe te voegen aan het betaalde profiel.
Je kunt het gewoon vragen aan de app-ID-eigenaar (betaald) om je als een teamlid toe te voegen. Ik weet het niet zeker. Nog steeds op zoek naar.


9, Autoriteit 3%

Nee, het is gemakkelijk om dit te doen. Stel in Xcode de actieve configuratie in om vrij te geven. Wijzig het apparaat van Simulator naar Apparaat – wat SDK ook is. Als u direct naar uw iPhone wilt exporteren, sluit u deze aan op uw computer. Druk op Build en Go. Als uw iPhone niet op uw computer is aangesloten, komt er een bericht op en zegt dat uw iPhone niet is aangesloten.

Als dit op u van toepassing is: (iPhone is niet aangesloten)

Ga naar de map van uw projecten en vervolgens naar de build map binnen. Ga naar de map Release-iPhoneos en neem de app binnen, sleep en neerdruppeld op iTunes-pictogram. Wanneer u uw iTouch-apparaat synchroniseert, wordt deze naar uw apparaat kopieerd. Het verschijnt ook in iTunes als een applicatie voor de iPhone.

Ik hoop dat dit helpt!

PS: Als het iets zegt over een certificaat dat niet geldig is, klikt u gewoon op het project in Xcode, het kleine projectpictogram in de bestandsstapel naar links en drukt u op APPLE + IK of Krijg info uit de menubalk . Klik op Build Aan de bovenkant. Onder het ondertekenen van de code, wijzigen Code Ondertekening Identiteit – Elk iPhone OS-apparaat om niet te ondertekenen.


10, Autoriteit 2%

Dit is echt allemaal afhankelijk van welke versie van Xcode u gebruikt als verschillende versies Gebruik verschillende methoden om te implementeren op uw iPhone zonder een provisioningsprofiel.

Xcode 3.2.1 is een goede versie en is eenvoudig te uitzoeken, maar we moeten weten welke versie u gebruikt.


11, Autoriteit 2%

oplossing gepost door Cawas werkt ook perfect met Xcode4. Er zijn echter enkele wijzigingen in de UI van IDE, dus u moet wat onderzoek doen om Run Script te vinden:)

In het project Navigator-weergave Klik op het root-item van het project en vervolgens in het middenvenster Selecteer Target en klik vervolgens op het tabblad Fasen op bouwen en onderaan u ziet u Build Phase-knop toevoegen, klik dan Pasta “Codesign” -script gepost door Cawas.

Other episodes