Apple Xcode, implemented in the Objective-C language, is used to develop applications using the Cocoa framework, the native object-oriented API for the Mac OS X operating system.
This article details how to deploy a graphical MATLAB® application with Objective C and Cocoa, and then deploy it using MATLAB Compiler™.
You can find example Apple Xcode, header, and project files
in
.matlabroot
/extern/examples/compiler/xcode
To run this example, you should have prior experience with the Apple Xcode development environment and the Cocoa framework.
The example in this article is ready to build and run. However, before you build and run your own applications, you must do the following (as has been done in our example code):
Build the shared library with MATLAB Compiler using
either the Library Compiler or mcc
.
Compile application code against the library's
header file and link the application against the component library
and libmwmclmcrrt
. See Problems Setting MATLAB Runtime Paths and Problems Setting MATLAB Runtime Paths for
information about and MATLAB Runtime paths and libmwmclmcrrt
.
In your Apple Xcode project:
Specify mcc
in
the project target (Build Component Library in the example
code).
Specify target settings in HEADER_SEARCH_PATHS
.
Specify directories containing the library header.
Specify the path
. matlabroot
/extern/include
Define MWINSTALL_ROOT
, which establishes
the install route using a relative path.
Set LIBRARY_SEARCH_PATHS
to any
directories containing the shared library, as well as to the path
.matlabroot
/runtime/maci64
In this example, you deploy the graphical Sierpinski function
(sierpinski.m
sierpinski.m
,
located at
).matlabroot
/extern/examples/compiler
function [x, y] = sierpinski(iterations, draw) % SIERPINSKI Calculate (optionally draw) the points % in Sierpinski's triangle % Copyright 2004 The MathWorks, Inc. % Three points defining a nice wide triangle points = [0.5 0.9 ; 0.1 0.1 ; 0.9 0.1]; % Select an initial point current = rand(1, 2); % Create a figure window if (draw == true) f = figure; hold on; end % Pre-allocate space for the results, to improve performance x = zeros(1,iterations); y = zeros(1,iterations); % Iterate for i = 1:iterations % Select point at random index = floor(rand * 3) + 1; % Calculate midpoint between current point and random point current(1) = (current(1) + points(index, 1)) / 2; current(2) = (current(2) + points(index, 2)) / 2; % Plot that point if draw, line(current(1),current(2));, end x(i) = current(1); y(i) = current(2); end if (draw) drawnow; end
Using the Mac Finder, locate the Apple Xcode project
(
).
Copy files to a working directory to run this example, if needed.matlabroot
/extern/examples/compiler/xcode
Open sierpinski.xcodeproj
. The
development environment starts.
In the Groups and Files pane, select Targets.
Click Build and Run. The make
file runs that launches MATLAB Compiler (mcc
).
Run the Sierpinski application from the build output directory. The following GUI appears:
MATLAB Sierpinski Function Implemented in the Mac Cocoa Environment
In the Iterations field, enter
an integer such as 10000
:
Click Draw Triangle. The following figure appears: