Additional Steps for iOS Platform

Unlike Android platform that takes the resources from the concerned folders, the iOS platform needs the resources to be referenced. Therefore, the CM team needs to perform additional steps on slave 2 that are crucial to trigger the iOS build for the app.

The folder structure mentioned in the following steps may vary depending on your project location on slave 2.


  1. Navigate to the BOA.xcodeproj file in the project folder.

    For example, Users>admin>Documents>CanvasTechnology>BOA>BOA>platforms>ios>BOA.xcodeproj

  2. Double click the BOA.xcodeproj file. A screen displays with the project details.
  3. In the left panel, click the arrow mark preceding the project name to expand the folder.



    The contents of the folder display.



  4. In the right panel, navigate to TARGETS>BOA>General page. In the Deployment Info section, select all the checkboxes in Device Orientation.

    Sometimes you may have to navigate to TARGETS>BOA>General page by double-clicking the project name in the left panel.





  5. On the General page, go to the App Icons and Launch Images section.
    1. In the App Icons Source field, select Don't Use Asset Catalog option.
    2. In the Launch Images Source field, select Don't Use Asset Catalog option.

      App Icons Source and Launch Images Source fields are toggle fields.





  6. Navigate to the Build Settings page.



  7. On the Build Settings page, go to the Code Signing section. Double-click on Code Signing Identity and select the distributor name from the pop-up window. The distributor name gets populated in the related sections.







  8. In the Code Signing section, double-click on the empty space next to Code Signing Resource Rules Path. A text box displays. In the text box, type $(SDKROOT)/ResourceRules.plist

    Click outside to close the text box.

    This step is required only for Xcode versions prior to version 8. For Xcode version 8 and above, see the note after the image.






    If you are using Xcode version 8 or above, you must replace a code in the PackageApplication file. Access the PackageApplication file in the path:

    • /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin

    In the PackageApplication file replace the existing code:

    my @codesign_args = ("/usr/bin/codesign", "--force",
    					 "--preserve-metadata=identifier,entitlements,resource-rules",
    					 "--sign", $opt{sign},
    					 "--resource-rules=$destApp/ResourceRules.plist"); 

    with the following code:

    my @codesign_args;
    if (-e '$destApp/ResourceRules.plist')
    {  
    	@codesign_args = ("/usr/bin/codesign", "-force", 
    					  "-preserve-metadata=identifier,entitlements,resource-rules",
    					  "--sign", $opt{sign},
    					  "--resource-rules=$destApp/ResourceRules.plist");
    }
    else
    { 
    	@codesign_args = ("/usr/bin/codesign", "-force", 
    					  "-preserve-metadata=identifier,entitlements",
    					  "--sign", $opt{sign});
    }
  9. In the Code Signing section, double-click on Provisioning Profile and select the provisioning profile from the pop-up window.

    The Provisioning profile interface for Xcode version 8 is different compared to previous versions. The provisioning profile fields will be available on the TARGET>Project name>General page. The sample screenshot is as follows:

  10. Navigate to PROJECT>BOA>Build Settings page. In the Code Signing section repeat steps 7 to 9.

    You can ignore this step if the code signing details are populated and are same as the TARGETS>BOA>Build Settings page.





  11. On the Build Settings page, in the left panel, navigate to Resources. Right-click on Resources and select Add Files to "BOA".



    A dialog box displays for you to search for the required folders.

  12. Navigate to the iOS icons folder.

    The navigation path for the project BOA is depicted in the following screenshots.













  13. Click on the iOS-icons folder. Select all the files in this folder.



  14. Click Add. The images are added to the Resources folder.

    Ensure to replace the icons available in the Android icons folder with that of the implementation teams. The icons provided by the implementation teams must be of the same size and name as those available in the Android icons folder.