• 2015-01-06

    Build universal iOS static library in xcode for simulator and real device

    Views: 6755 | No Comments

    The default static library target in Xcode does not support iPhone simulator and real iPhone device at once. You have to build your static library for others to use on simulator, and build another for real device.

    With an Aggregate target, you can mix the two library together in one .a file. Here’s the run script for the Aggregate target:

    # define output folder environment variable
    UNIVERSAL_OUTPUTFOLDER=${BUILD_DIR}/${CONFIGURATION}-universal
    
    # Step 1. Build Device and Simulator versions
    xcodebuild -target Target -configuration ${CONFIGURATION} -sdk iphoneos  BUILD_DIR="${BUILD_DIR}" BUILD_ROOT="${BUILD_ROOT}"
    xcodebuild -target Target -configuration ${CONFIGURATION} -sdk iphonesimulator -arch x86_64 -arch i386 BUILD_DIR="${BUILD_DIR}" BUILD_ROOT="${BUILD_ROOT}"
    
    # make sure the output directory exists
    mkdir -p "${UNIVERSAL_OUTPUTFOLDER}"
    
    # Step 2. Create universal binary file using lipo
    lipo -create -output "${UNIVERSAL_OUTPUTFOLDER}/lib${PROJECT_NAME}.a" "${BUILD_DIR}/${CONFIGURATION}-iphoneos/lib${PROJECT_NAME}.a" "${BUILD_DIR}/${CONFIGURATION}-iphonesimulator/lib${PROJECT_NAME}.a"
    
    # Last touch. copy the header files. Just for convenience
    cp -R "${BUILD_DIR}/${CONFIGURATION}-iphoneos/include" "${UNIVERSAL_OUTPUTFOLDER}/"
    
    Posted by ideawu at 2015-01-06 15:58:48 Tags: ,
  • 2015-01-06

    UIView with background image repeated and stretched

    Views: 9382 | No Comments

    You can set the background of an UIView or a subclass of UIView be filled with an image, repeated or stretched.

    Repeated

    UIImage *img = [UIImage imageNamed:@"bg.png"];
    row.backgroundColor = [UIColor colorWithPatternImage:img];
    

    Stretched

    UIImage *img = [UIImage imageNamed:@"bg.png"];
    row.layer.contents = (id)img.CGImage;
    
    Posted by ideawu at 14:38:24 Tags:
|<<<123>>>| 3/3 Pages, 12 Results.