This documentation supports the 1.4 version of Remedy with Smart IT.

To view the latest version, select the version from the Product version menu.

Re-signing and rebranding Smart IT for iOS

This topic describes how to re-sign and rebrand BMC Remedy with Smart IT (Smart IT) so that you can deploy it to your end users who use Apple iOS devices, including Apple Watch.

Notes

  • The procedures in this topic were created on February 24, 2016 by using the following specifications:
    • Xcode 7.2
    • OS X El Capitan (10.11)
    • iOS 8
    • iOS 9
  • Procedures that refer to the iOS Provisioning Portal are subject to change. For the latest information, refer to the iOS Provisioning Portal documentation.

Before you begin

Before you begin, apply for the Apple Enterprise Program. After your membership has been approved, you can sign in to the developer portal.

For more information, see the following sections in the App Distribution Guide:

  • Managing Your Team in Member Center—Describes how to assign appropriate team roles. To complete the following procedures, you must assign the Team Agent role to the user who will create the certificate.
  • Managing Your Signing Identities and Certificates
  • Maintaining Identifiers, Devices, and Profiles

Installing the Xcode and Apple root certificate

You must perform this procedure only once, and you must use a computer that runs OS X. This procedure cannot be completed from an iOS device or Windows computer.

  1. On an Apple Macintosh OS X computer, install the free Xcode from the App Store.

  2. Install the Apple root certificate:
    1. Go to http://www.apple.com/certificateauthority/.
    2. Download Apple Inc. Root Certificate.
    3. Double-click the file, and install it into the Keychain (login).

Creating an enterprise distribution certificate to re-sign Smart IT

  1. Log on to the iOS Provisioning Portal at https://developer.apple.com/account/ios/certificate with the Team Agent role.
  2. In the Certificates section, click the plus sign (+) to add the certificate.
  3. In the Production section, select In-House and Ad Hoc.
  4. Generate a certificate signing request (CSR) by using the Certificate Assistant.
     Follow the instructions that Apple provides on the CSR screen.
  5. Upload the CSR to the iOS Provisioning Portal, and download the distribution certificate.
  6. Save the certificate, and open it with the Key Chain Access application.
    Use this certificate to sign iOS applications.

Creating an App Group for Smart IT (1.4 and later)

  1. With the Team Agent role, log on to the iOS Provisioning Portal.
  2. In the Identifiers section, click the App Groups tab.
  3. Click the plus sign (+) to add a new identifier.
  4. In the Description field, type a name that will easily identify your application to you within the portal (for example, Calbro Smart IT Group).
  5. In the ID field, enter a unique group name (for example, group.com.companyName.SmartIT).
  6. Click Continue.
  7. Click Register.
    The new App Group appears as shown in the following illustration:

Creating an application ID for your version of Smart IT

  1. With the Team Agent role, log on to the iOS Provisioning Portal.
  2. In the Identifiers section, click the App IDs tab.
  3. Click the plus sign (+) to add a new identifier.
  4. In the Description field, type a name that will easily identify your application to you within the portal (for example, Calbro Smart IT).
  5. Make a note of the app ID prefix (team ID), which you will use in the re-signing process.
  6. Select Explicit App ID, and enter a unique identifier in the Bundle ID field (for example, com.companyName.SmartIT).
  7. Make a note of the bundle ID for the re-signing process.
  8. In the App Services section, leave the defaults as they are, but ensure that Push Notifications and App Group is selected.
  9. Click Continue.
  10. To return to the Identifiers list, click Done.

    The new app ID appears as shown in the following illustration:
  11. Click the plus sign (+) to add a new Apple Watch identifier.

  12. In the Description field, type a name that will easily identify your application to you within the portal (for example, Calbro Smart IT Watch).

  13. Select Explicit App ID, and enter a unique identifier in the Bundle ID field. This identifier must be prefixed with the identifier of the iPhone application (for example, com.companyName.SmartIT.watch).

  14. In the App Services section, leave the defaults as they are, but ensure that App Group is selected.

  15. Click Continue.

  16. To return to the Identifiers list, click Submit.
    The new Apple Watch identifier appears as shown in the following illustration:

  17. Click the plus sign (+) to add a new Apple Watch Extension identifier.

  18. In the Description field, type a name that will easily identify your application to you within the portal (for example, Calbro Smart IT Watch Extension).

  19. Select Explicit App ID, and enter a unique identifier in the Bundle ID field. This identifier must be prefixed with the identifier of the iPhone application (for example, com.companyName.SmartIT.watch.extension).

  20. In the App Services section, keep the default settings, but make sure that App Group is selected.

  21. Click Continue.

  22. To return to the Identifiers list, click Submit.
    The new Apple Watch Extension identifier appears as shown:

Editing your existing application ID or adding the App Group to your version of Smart IT (1.4 and later)

  1. Log on to the iOS Provisioning Portal with the Team Agent role.
  2. In the Identifiers section, click the App IDs tab.
  3. Select your Smart IT application ID (for example, com.companyName.SmartIT)
  4. Click Edit.
  5. Click the select box next to App Groups.
  6. When prompted to Enable App Groups, click OK.
  7. Click Edit on App Groups.

  8. Select the App Group created for Smart IT (for example, group.com.companyName.SmartIT).

  9. Click Continue.

  10. Click Assign.

  11. Click Done.

  12. Repeat steps 1 – 11 for the Apple Watch ID and Apple Watch Extension ID (for example, com.companyName.SmartIT.watch and com.companyName.SmartIT.watch.extension).

Creating your in-house distribution provisioning profile

  1. Log on to the iOS Provisioning Portal with the Team Agent role.
  2. In the Provisioning section, click the Distribution tab.
  3. Click the plus sign (+) to add a new profile.
  4. On the Create iOS Provisioning Profile page, complete the following steps:
    1. For Distribution Method, select In House.
    2. Select the distribution certificate that you created.
    3. Select the App ID that you created (for example, com.companyName.SmartIT).
  5. Download the provisioning profile.
  6. Repeat steps 1 – 5 for the Apple Watch provisioning profile (for example, com.companyName.SmartIT.watch).


    You can use this profile to build the application for in-house deployment.

    If you already have a provisioning profile created for an older version of Smart IT, you must edit that profile to pick up the new App Groups Service.  
  7. Repeat steps 1 – 5 for the Apple Watch Extension provisioning profile (for example, com.companyName.SmartIT.watch.extension).

    You can use this profile to build the application for in-house deployment.

    If you already have a provisioning profile created for an older version of Smart IT, you must edit that profile to pick up the new App Groups Service.

Creating your Apple Push Notification Service (APNS) certificate

  1. Log on to the iOS Provisioning Portal with the Team Agent role.
  2. In the Certificates section, click the Production tab.
  3. Click the plus sign (+) in the top-right corner.
  4. Select Apple Push Notification Service SSL (Production).
  5. Select the App Prefix ID (Team ID) that you created.
  6. Generate a certificate signing request (CSR) by using the Certificate Assistant.
    Follow the instructions that Apple provides on the CSR screen.
  7. Double-click the certificate to download it and import it into your Keychain.
    In a later procedure, you will replace the Smart IT APNS certificate with your new APNS certificate.

Re-signing the Smart IT IPA file with your enterprise credentials

  1. From the Apple Macintosh OS X computer where you installed Xcode, create a working folder and copy the SmartIT.ipa file to that folder:

    1. In the terminal application, enter the following commands to create a SmartIT-ResignDir folder:

      mkdir /path/SmartIT-ResignDir (for example, /User/bill/SmartIT-working/SmartIT-ResignDir)
      cd /path/SmartIT-ResignDir
    2. Copy the SmartIT.ipa file to /path/SmartIT-ResignDir.
      The SmartIT.ipa file is included with the installation files that you can download from the BMC Electronic Product Distribution (EPD) site .

  2. Clear out the previous build files.
    Still in the terminal application, enter the following commands:

    rm -rf "$(getconf DARWIN_USER_CACHE_DIR)/org.llvm.clang/ModuleCache"
    rm -rf ~/Library/Developer/Xcode/DerivedData
    rm -rf ~/Library/Caches/com.apple.dt.Xcode
  3. Resign the swift code dylibs with the following script.  Replace "iPhone Distribution: BMC Software, Inc.” with your company certificate installed on this machine.

    # Unpackaging app
    unzip -q SmartIT.ipa
    APP=`ls Payload | tail -1`
    # Renaming original IPA
    mv SmartIT.ipa SmartITOriginal.ipa 
    # Replacing mobile provision
    echo "Deleting original embedded.mobileprovision"
    rm "Payload/Galileo.app/embedded.mobileprovision"
    rm "Payload/Galileo.app/Watch/Watch.app/PlugIns/Watch Extension.appex/embedded.mobileprovision"
    rm "Payload/Galileo.app/Watch/Watch.app/embedded.mobileprovision"
    
    echo "Copying embedded.mobileprovision"
    cp "SmartITWatchExtension.mobileprovision" "./Payload/Galileo.app/Watch/Watch.app/PlugIns/Watch Extension.appex/embedded.mobileprovision"
    cp "SmartITWatch.mobileprovision" "./Payload/Galileo.app/Watch/Watch.app/embedded.mobileprovision"
    cp "SmartIT.mobileprovision" "./Payload/Galileo.app/embedded.mobileprovision"
    
    # Resigning ipa
    echo "Re-sign by iPhone Distribution: BMC Software, Inc."
    # Resigning dylibs
    if [ -e Payload/Galileo.app/Frameworks ]
    then
      for dylib in "Payload/Galileo.app/Frameworks/*"
      do
        codesign -f -s "iPhone Distribution: BMC Software, Inc." $dylib
      done
    fi
    if [ -e Payload/Galileo.app/Watch/Watch.app/Frameworks ]
    then
      for dylib in "Payload/Galileo.app/Watch/Watch.app/Frameworks/*"
      do
        codesign -f -s "iPhone Distribution: BMC Software, Inc." $dylib
      done
    fi
    if [ -e Payload/Galileo.app/Watch/Watch.app/PlugIns/Watch\ Extension.appex/Frameworks ]
    then
    for dylib in Payload/Galileo.app/Watch/Watch.app/PlugIns/Watch\ Extension.appex/Frameworks/*
    do
    codesign -f -s "iPhone Distribution: BMC Software, Inc." "$dylib"
    done
    fi
    # Resigning app
    codesign -f -s "iPhone Distribution: BMC Software, Inc." "Payload/Galileo.app/Watch/Watch.app/PlugIns/Watch Extension.appex"
    codesign -f -s "iPhone Distribution: BMC Software, Inc." "Payload/Galileo.app/Watch/Watch.app"
    codesign -f -s "iPhone Distribution: BMC Software, Inc." "Payload/Galileo.app"
    # Cleaning output env
    rm -r "SmartIT.ipa"
    # Packaging ipa
    echo "Packaging ipa"
    zip -qr "SmartIT.ipa" Payload
    echo "Re-signed ipa"
  4. Unzip the ipa file.

    unzip –q SmartIT.ipa
  5. In Xcode, create a SmartIT.entitlements file in the /path/SmartIT-ResignDir directory, and add the following lines.
    You can download a copy of SmartIT.entitlements

    SmartIT.Entitlements
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
    	<key>application-identifier</key>
    	<string>XXXXXXX.com.companyName.SmartIT</string>
    	<key>aps-environment</key>
    	<string>production</string>
    	<key>get-task-allow</key>
    	<false/>
    	<key>keychain-access-groups</key>
    	<array>
    		<string>XXXXXXX.com.companyName.SmartIT</string>
    	</array>
    	<key>com.apple.security.application-groups</key>
    	<array>
    		<string>group.com.companyName.SmartIT</string>
    	</array>
    </dict>
    </plist>
  6. Replace the value for the application-identifier key with your team prefix and App ID.
    For example, replace XXXXXXX.com.companyName.SmartIT, where XXXXXXX is your team bundle ID and com.companyName.SmartIT is your application ID. 
  7. Replace the value for the keychain-access groups key with your team prefix and App ID.
    For example, replace XXXXXXX.com.companyName.SmartIT, where XXXXXXX is your team bundle ID and com.companyName.SmartIT is your application ID. 
  8. Replace the value for the com.apple.security.application-groups with your App Group Name.
    For example, replace group.com.companyName.SmartIT with your App Group.

  9. In Xcode, create a SmartITWatch.entitlements file in the /path/SmartIT-ResignDir directory, and add the following lines.
 You can download a copy of SmartITWatch.entitlements.

    SmartITWatch.Entitlements
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
    	<key>application-identifier</key>
    	<string>XXXXXXX.com.companyName.SmartIT.watch</string>
    	<key>keychain-access-groups</key>
    	<array>
    		<string>XXXXXXX.com.companyName.SmartIT.watch</string>
    	</array>
    	<key>com.apple.security.application-groups</key>
    	<array>
    		<string>group.com.companyName.SmartIT</string>
    	</array>
    </dict>
    </plist>
  10. Replace the value for the application-identifier key with your team prefix and App ID.
    For example, replace XXXXXXX.com.companyName.SmartIT.watch, where XXXXXXX is your team bundle ID and com.companyName.SmartIT.watch is your watch application ID.

  11. Replace the value for the keychain-access groups key with your team prefix and App ID.
    For example, replace XXXXXXX.com.companyName.SmartIT.watch, where XXXXXXX is your team bundle ID and com.companyName.SmartIT.watch is your watch application ID.

  12. Replace the value for the com.apple.security.application-groups with your App Group Name.
    For example, replace group.com.companyName.SmartIT with your App Group.

  13. In Xcode, create a SmartITWatchExtension.entitlements file in the /path/SmartIT-ResignDir directory, and add the following lines. 
    You can download a copy of SmartITWatchExtension.entitlements.

    SmartITWatchExtension.entitlements
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
    	<key>application-identifier</key>
    	<string>XXXXXXX.com.companyName.SmartIT.watch.extension</string>
    	<key>com.apple.security.application-groups</key>
    	<array>
    		<string>group.com.companyName.SmartIT</string>
    	</array>
    </dict>
    </plist>
  14. Replace the value for the application-identifier key with your team prefix and App ID.
    For example, replace XXXXXXX.com.companyName.SmartIT.watch.extension, where XXXXXXX is your team bundle ID and com.companyName.SmartIT.watch.extension is your watch extension application ID.

  15. Replace the value for the com.apple.security.application-groups with your App Group Name.
    For example, replace group.com.companyName.SmartIT with your App Group.

  16. To rebrand the Smart IT iOS client, edit the following .png files for the icon, splash screen, login screen, and connection background.

    The numbers in parentheses show the pixel dimensions. Do not adjust the size or format of the files. Doing so might cause the icons and splash screens to display incorrectly on iOS devices.

    Tip

    For a list of image sizes needed to support the most current devices, see https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/MobileHIG/IconMatrix.html.

    /path/SmartIT-ResignDir/Payload/Galileo.app/AppIcon29x29.png (29x29)
    /path/SmartIT-ResignDir/Payload/Galileo.app/AppIcon29x29@2x.png (58x58)
    /path/SmartIT-ResignDir/Payload/Galileo.app/AppIcon29x29~ipad.png (29x29)
    /path/SmartIT-ResignDir/Payload/Galileo.app/AppIcon29x29@2x~ipad.png (58x58)
    /path/SmartIT-ResignDir/Payload/Galileo.app/AppIcon40x40@2x.png (80x80)
    /path/SmartIT-ResignDir/Payload/Galileo.app/AppIcon40x40~ipad.png (40x40)
    /path/SmartIT-ResignDir/Payload/Galileo.app/AppIcon40x40@2x~ipad.png (80x80)
    /path/SmartIT-ResignDir/Payload/Galileo.app/AppIcon50x50~ipad.png (50x50)
    /path/SmartIT-ResignDir/Payload/Galileo.app/AppIcon50x50@2x~ipad.png (100x100)
    /path/SmartIT-ResignDir/Payload/Galileo.app/AppIcon57x57.png (57x57)
    /path/SmartIT-ResignDir/Payload/Galileo.app/AppIcon57x57@2x.png (114x114)
    /path/SmartIT-ResignDir/Payload/Galileo.app/AppIcon60x60@2x.png (120x120)
    /path/SmartIT-ResignDir/Payload/Galileo.app/AppIcon72x72~ipad.png (72x72)
    /path/SmartIT-ResignDir/Payload/Galileo.app/AppIcon72x72@2x~ipad.png (144x144)
    /path/SmartIT-ResignDir/Payload/Galileo.app/AppIcon76x76~ipad.png (76x76)
    /path/SmartIT-ResignDir/Payload/Galileo.app/AppIcon76x76@2x~ipad.png (152x152)
    /path/SmartIT-ResignDir/Payload/Galileo.app/LaunchImage-700-568h@2x.png (640x1136)
    /path/SmartIT-ResignDir/Payload/Galileo.app/LaunchImage-700-Landscape@2x~ipad.png (2048x1536)
    /path/SmartIT-ResignDir/Payload/Galileo.app/LaunchImage-700-Landscape~ipad.png (1024x768)
    /path/SmartIT-ResignDir/Payload/Galileo.app/LaunchImage-700-Portrait@2x~ipad.png (1536x2048)
    /path/SmartIT-ResignDir/Payload/Galileo.app/LaunchImage-700-Portrait~ipad.png (768x1024)
    /path/SmartIT-ResignDir/Payload/Galileo.app/LaunchImage-800-667h@2x.png (750x1334)
    /path/SmartIT-ResignDir/Payload/Galileo.app/LaunchImage-800-Portrait-736h@3x.png (1242x2208)
    /path/SmartIT-ResignDir/Payload/Galileo.app/LaunchImage-800-Landscape-736h@3x.png (2208x1242)
    /path/SmartIT-ResignDir/Payload/Galileo.app/LaunchImage-700@2x.png (640x960)
    /path/SmartIT-ResignDir/Payload/Galileo.app/Watch/Watch.app/AppIcon24x24@2x.png (48x48)

    /path/SmartIT-ResignDir/Payload/Galileo.app/Watch/Watch.app/AppIcon27.5x27.5@2x.png (55x55)
    /path/SmartIT-ResignDir/Payload/Galileo.app/Watch/Watch.app/AppIcon29x29@2x.png (58x58)

    /path/SmartIT-ResignDir/Payload/Galileo.app/Watch/Watch.app/AppIcon29x29@3x.png (87x87)
    /path/SmartIT-ResignDir/Payload/Galileo.app/Watch/Watch.app/AppIcon40x40@2x.png (80x80)
    /path/SmartIT-ResignDir/Payload/Galileo.app/Watch/Watch.app/AppIcon44x44@2x.png (88x88)
    /path/SmartIT-ResignDir/Payload/Galileo.app/Watch/Watch.app/AppIcon86x86@2x.png (172x172)
    /path/SmartIT-ResignDir/Payload/Galileo.app/Watch/Watch.app/AppIcon98x98@2x.png (196x196)
    /path/SmartIT-ResignDir/Payload/Galileo.app/AppIcon29x29@3x.png (87x87)
    /path/SmartIT-ResignDir/Payload/Galileo.app/AppIcon40x40@3x.png (120x120)
    /path/SmartIT-ResignDir/Payload/Galileo.app/AppIcon60x60@3x.png (180x180)
    /path/SmartIT-ResignDir/Payload/Galileo.app/AppIcon83.5x83.5@2x~ipad.png (167x167)

  17. Place the provisioning profiles that you created into the /path/SmartIT-ResignDir folder, and rename the files to SmartIT.mobileprovision, SmartITWatch.mobileprovision, and SmartITWatchExtension.mobileprovision. See Creating your in-house distribution provisioning profile for details about creating your own provisioning profile.
  18. Set the bundle IDs to match the application ID set on the Apple Development portal (for example, com.companyName.SmartIT.watch, com.companyName.SmartIT.watch.extension, and com.companyName.SmartIT). See the Apple Developer Site for more information.

    cd /path/SmartIT-ResignDir
     
    /usr/libexec/PlistBuddy -c "Set CFBundleIdentifier com.companyName.SmartIT"
    ./Payload/Galileo.app/Info.plist
    
    /usr/libexec/PlistBuddy -c "Set CFBundleIdentifier com.companyName.SmartIT.watch" 
    ./Payload/Galileo.app/Watch/Watch.app/Info.plist
    
    /usr/libexec/PlistBuddy -c "Set CFBundleIdentifier com.companyName.SmartIT.watch.extension"
    ./Payload/Galileo.app/Watch/Watch.app/PlugIns/Watch\
    Extension.appex/Info.plist
     
    /usr/libexec/PlistBuddy -c "Set WKCompanionAppBundleIdentifier com.companyName.SmartIT" 
    ./Payload/Galileo.app/Watch/Watch.app/Info.plist 
     
    /usr/libexec/PlistBuddy -c "Set NSExtension:NSExtensionAttributes:WKAppBundleIdentifier com.companyName.SmartIT.watch" ./Payload/Galileo.app/Watch/Watch.app/PlugIns/Watch\ Extension.appex/Info.plist
  19. Set the application name displayed on the iOS devices, where APPLICATIONNAME is the name of your Smart IT application (for example, Smart IT or Acme Smart IT):

    /usr/libexec/PlistBuddy -c "Set CFBundleDisplayName APPLICATIONNAME" 
    ./Payload/Galileo.app/Info.plist
  20. Set the long application name that appears on the splash screen, where LONGAPPNAME is the long name of your Smart IT application (for example, BMC Remedy with Smart IT):

    /usr/libexec/PlistBuddy -c "Set galileo-full-app-name LONGAPPNAME" 
    ./Payload/Galileo.app/Info.plist
  21. Set the Apple Watch name, where WATCHNAME is the title that is displayed on the Smart IT Apple Watch application (for example, Smart IT):

    /usr/libexec/PlistBuddy -c "Set CFBundleDisplayName WATCHNAME" 
    ./Payload/Galileo.app/Watch/Watch.app/Info.plist
     
    /usr/libexec/PlistBuddy -c "Set CFBundleDisplayName WATCHNAME" 
    ./Payload/Galileo.app/Watch/Watch.app/PlugIns/Watch\ Extension.appex/Info.plist
  22. Set the default Smart IT server to your Smart IT server, where SERVER is your Smart IT server name (for example, SmartIT.acme.com):

    /usr/libexec/PlistBuddy -c "Set galileo-server SERVER" ./Payload/Galileo.app/Info.plist
  23. Set the default port for your Smart IT server, where PORT is the TCP port for clients to access the server (for example, 9000 or 8888):

    /usr/libexec/PlistBuddy -c "Set galileo-port PORT" ./Payload/Galileo.app/Info.plist
  24. Set the default Internet protocol, where PROTOCOL is either HTTP or HTTPS.
    If you do not set a value for galileo-http-schema, the client will try to connect by using HTTPS first (until a timeout limit is reached), and then it will try HTTP. If you are using HTTP, it is recommended that you set this value to HTTP to avoid the timeout delay.

    /usr/libexec/PlistBuddy -c "Set galileo-http-schema PROTOCOL" ./Payload/Galileo.app/Info.plist
  25. Set the color of the button on the login and connection page (see Login screen rebranding):

    /usr/libexec/PlistBuddy -c "Set galileo-custom-brand-button-color-hex 0xff0000" ./Payload/Galileo.app/Info.plist
  26. Set the color of the text of the application name on the login and connection page (see Login screen rebranding):

    /usr/libexec/PlistBuddy -c "Set galileo-custom-brand-text-color-hex 0xff0000" ./Payload/Galileo.app/Info.plist
  27. Remove the BMC logo on the login and connection page by setting this value to YES. (Valid settings are either YES or NO. See Login screen rebranding.)

    /usr/libexec/PlistBuddy -c "Set galileo-custom-remove-bmc-logo YES" ./Payload/Galileo.app/Info.plist
  28. Set the color of the top level navigation bar background by setting the hex color value (see Navigation rebranding):

    /usr/libexec/PlistBuddy -c "Set galileo-custom-navigation-bar-color-hex 0xff0000" ./Payload/Galileo.app/Info.plist
  29. Set the color of the top level navigation bar text by setting the hex color value (see Navigation rebranding):

    /usr/libexec/PlistBuddy -c "Set galileo-custom-navigation-text-color-hex 0xff0000" ./Payload/Galileo.app/Info.plist
  30. Remove the white background on the login and connection page by setting this value to YES. (Valid settings are either YES or NO. See Login screen rebranding.)

    /usr/libexec/PlistBuddy -c "Set galileo-custom-remove-login-white-background YES" ./Payload/Galileo.app/Info.plist
  31. Remove the application name (full-app-name) on the login and connection page by setting this value to YES. (Valid settings are either YES or NO. See Login screen rebranding)

    /usr/libexec/PlistBuddy -c "Set galileo-custom-remove-login-full-app-name YES" ./Payload/Galileo.app/Info.plist

    Login screen rebranding

    Navigation rebranding

  32. Replace the mobile provision file:

    cp "SmartITWatchExtension.mobileprovision" 
    "./Payload/Galileo.app/Watch/Watch.app/PlugIns/Watch Extension.appex/embedded.mobileprovision"
    
    
    cp "SmartITWatch.mobileprovision"
    "./Payload/Galileo.app/Watch/Watch.app/embedded.mobileprovision"
    
    
    cp "SmartIT.mobileprovision" "./Payload/Galileo.app/embedded.mobileprovision"
  33. Remove the BMC code signature:

    rm -r "./Payload/Galileo.app/Watch/Watch.app/PlugIns/Watch Extension.appex/_CodeSignature/"
    
    rm -r "./Payload/Galileo.app/Watch/Watch.app/_CodeSignature"
    
    rm -r "./Payload/Galileo.app/_CodeSignature"
  34. Re-sign the IPA using the name of your company Apple iOS Distribution certificate installed on this machine by replacing "iPhone Distribution: BMC Software, Inc.".

    /usr/bin/codesign -f -s "iPhone Distribution: BMC Software, Inc." --entitlements
    "./SmartITWatchExtension.entitlements"
    "./Payload/Galileo.app/Watch/Watch.app/PlugIns/Watch Extension.appex"
    
    /usr/bin/codesign -f -s "iPhone Distribution: BMC Software, Inc." --entitlements
    "./SmartITWatch.entitlements" "./Payload/Galileo.app/Watch/Watch.app"
    
    /usr/bin/codesign -f -s "iPhone Distribution: BMC Software, Inc." --entitlements
    "./SmartIT.entitlements" "./Payload/Galileo.app"
  35. Create the IPA zip file:

    zip -qr "SmartIT-rebranded.ipa" Payload

    You will provide this new ipa file when you deploy Smart IT to your users.

Replacing the Smart IT APNS certificate with your APNS certificate

  1. Log on to the server that hosts the Smart IT server.
  2. Stop the Apache Tomcat instance that executes the Smart IT server.
  3. Find the external-conf folder under the Tomcat home folder.
  4. Create a subfolder called certification.
  5. Place the p12 file containing your APNS certificate into the certification subfolder.
  6. Log on to the Oracle or Microsoft SQL database used for Smart IT.
  7. Go to the PUSH_NOTIFICATION_CERT table, and query for records. 
  8. If you are changing the iOS APNS certificate:
    1. In the iOS_Cert field, replace the current value (which is GalileoAPNsProduction.p12, by default) with the name of the p12 file that contains your new APNS certificate.
    2. In the iOS_Password row, replace the current password with the password of your p12 file. (You will enter it in plain text.)
  9. Click Save
  10. Start the Tomcat instance.


    Any notifications to iOS devices from your server (or tenant in multitenant environments) are sent using the new certificate.

Where to go from here

Deploying Smart IT to your users

This version of the documentation is no longer supported. However, the documentation is available for your convenience. You will not be able to leave comments.

Comments