Showing posts with label iOS. Show all posts
Showing posts with label iOS. Show all posts

Monday, November 17, 2014

Gradle iOS Plugin

Gradle iOS Plugin

This plugin is in Beta and Open Source:

https://github.com/jaredsburrows/gradle-ios-plugin

There is an example repository here:

https://github.com/jaredsburrows/gradle-ios-plugin-example


There is an Android Plugin for Gradle, why isn't there one for iOS?

Example "build.gradle":

buildscript {
    repositories {
        jcenter()
    }

    dependencies {
        classpath 'burrows.apps.ios:gradle:0.0.1'
    }
}

apply plugin: 'com.ios.application'

ios {
    compileSdkVersion '8.1'     //  iOS SDK version
    buildToolsVersion '6.1'     //  XCode version

    defaultConfig {
        minSdkVersion 8         // Minimum iOS SDK version
        targetSdkVersion 19     // Target iOS SDK version
        versionCode 1           // *optional*
        versionName '1.0'       // *optional*
    }

    // Cocoa Pods
    pods {
        pod 'Google-Mobile-Ads-SDK'
        pod 'GoogleAnalytics-iOS-SDK'
    }
}

dependencies {
    ...
}

Friday, February 8, 2013

How to put Applications on Jailbroken iPhone

How to put Applications on Jailbroken iPhone

Need:
  • Jailbroken iPhone(with OpenSSH from Cydia)
  • USB cable
  • MacbookPro(for Xcode) 
  • uikittools
Tested with:

Step 1 - make sure Xcode is closed - stop automatic signing


First off you need to edit a configuration file within Xcode:

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk/SDKSettings.plist

Make a backup just in case you mess up:

sudo cp /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk/SDKSettings.plist /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk/SDKSettings.BACK

Edit the file like:

sudo nano /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk/SDKSettings.plist

To save:
Control + X  then Y

Change
<key>CODE_SIGNING_REQUIRED</key>
<string>YES</string>
<key>CODE_SIGN_ENTITLEMENTS</key>
<string>YES</string>

to
<key>CODE_SIGNING_REQUIRED</key>
<string>NO</string>
<key>CODE_SIGN_ENTITLEMENTS</key>
<string>NO</string>


Step 2 - create the TCP connection between your Macbook and your iPhone


Go to
http://cgit.sukimashita.com/usbmuxd.git/

Download the latest, here:
http://cgit.sukimashita.com/usbmuxd.git/snapshot/usbmuxd-1.0.8.tar.bz2

Use a GUI tool or simply extract in Terminal:
tar -xjf usbmuxd-1.0.8.tar.bz2

cd to the "python-client" folder

Open Terminal and run to test the connection, Control + C to quit:
python tcprelay.py -t 22:2222

Now you can run these commands in the future:
ssh root@localhost -p 2222 - access the phone
scp -P 2222 root@localhost - send files to the phone


Step 3 - time to open Xcode


Click on your Project > Build Settings > Go to Code Signing > Code Signing Identity > Make sure it says "Don't sign code"

Make sure you set your target to "iOS Device"

Go to Product > Build for > Archiving


Step 4 - time to push your application to your jailbroken iPhone!


Example project name: NavBar

After building your application, its time to push it your phone, you need to find the path to your application in order to send it to your phone:

Open terminal again:

scp -r -P 2222 "/Users/noname/Library/Developer/Xcode/DerivedData/NavBar-gekkahxyyaepvgdkfkduwhlmqvqg/Build/Products/Release-iphoneos/NavBar.app" root@localhost:/Applications/

When prompted for the password, make sure your type "alpine"

User: root (already specified)
Password: alpine

After that is quickly transferred, Control + C to quit and then update your iPhone with:

ssh -p 2222 mobile@localhost uicache

User: mobile (already specified)
Password: alpine

To remove everything:

ssh -p 2222 root@localhost rm -rf /Applications/NavBar.app && ssh -p 2222 mobile@localhost uicache

By now you should see the application pop up on your home screen!