mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-23 10:11:08 +00:00
118 lines
5.3 KiB
Markdown
118 lines
5.3 KiB
Markdown
|
# GStreamer SDK documentation : Installing for iOS development
|
|||
|
|
|||
|
This page last changed on Jun 12, 2013 by xartigas.
|
|||
|
|
|||
|
# Prerequisites
|
|||
|
|
|||
|
For iOS development you need to download Xcode and the iOS SDK. Xcode
|
|||
|
can be found at the App Store or
|
|||
|
[here](https://developer.apple.com/devcenter/ios/index.action#downloads)
|
|||
|
and the iOS SDK, if it is not already included in your version of Xcode,
|
|||
|
can be downloaded from Xcode's preferences menu under the downloads tab.
|
|||
|
The minimum required iOS version is 6.0. The minimum required version of
|
|||
|
Xcode is 4, but 4.5 is recommended.
|
|||
|
|
|||
|
In case you are not familiar with iOS, Objective-C or Xcode, we
|
|||
|
recommend taking a look at the available documentation at Apple's
|
|||
|
website.
|
|||
|
[This](http://developer.apple.com/library/ios/#DOCUMENTATION/iPhone/Conceptual/iPhone101/Articles/00_Introduction.html)
|
|||
|
can be a good starting point.
|
|||
|
|
|||
|
# Download and install the SDK
|
|||
|
|
|||
|
The GStreamer SDK installer can be found at:
|
|||
|
|
|||
|
<table>
|
|||
|
<colgroup>
|
|||
|
<col width="100%" />
|
|||
|
</colgroup>
|
|||
|
<thead>
|
|||
|
<tr class="header">
|
|||
|
<th>Universal</th>
|
|||
|
</tr>
|
|||
|
</thead>
|
|||
|
<tbody>
|
|||
|
<tr class="odd">
|
|||
|
<td><ul>
|
|||
|
<li><a href="http://cdn.gstreamer.com/ios/gstreamer-sdk-devel-2013.6-ios-universal.dmg" class="external-link">GStreamer SDK 2013.6 (Congo) for iOS (Installer Package)</a> - <a href="http://www.freedesktop.org/software/gstreamer-sdk/data/packages/ios/gstreamer-sdk-devel-2013.6-ios-universal.dmg" class="external-link">mirror</a> - <a href="http://cdn.gstreamer.com/ios/gstreamer-sdk-devel-2013.6-ios-universal.dmg.md5" class="external-link">md5</a> - <a href="http://cdn.gstreamer.com/ios/gstreamer-sdk-devel-2013.6-ios-universal.dmg.sha1" class="external-link">sha1</a></li>
|
|||
|
</ul></td>
|
|||
|
</tr>
|
|||
|
</tbody>
|
|||
|
</table>
|
|||
|
|
|||
|
<table>
|
|||
|
<tbody>
|
|||
|
<tr class="odd">
|
|||
|
<td><img src="images/icons/emoticons/warning.png" width="16" height="16" /></td>
|
|||
|
<td><p><span>Due to the size of these files, usage of a </span><a href="http://en.wikipedia.org/wiki/Download_manager" class="external-link">Download Manager</a><span> is </span><strong>highly recommended</strong><span>. Take a look at </span><a href="http://en.wikipedia.org/wiki/Comparison_of_download_managers" class="external-link">this list</a><span> if you do not have one installed. If, after downloading, the installer reports itself as corrupt, chances are that the connection ended before the file was complete. A Download Manager will typically re-start the process and fetch the missing parts.</span></p></td>
|
|||
|
</tr>
|
|||
|
</tbody>
|
|||
|
</table>
|
|||
|
|
|||
|
Double click the package file and follow the instructions presented by
|
|||
|
the install wizard. In case the system complains about the package not
|
|||
|
being signed, you can control-click it and open to start the
|
|||
|
installation. When you do this, it will warn you, but there is an option
|
|||
|
to install anyway. Otherwise you can go to System Preferences → Security
|
|||
|
and Privacy → General and select the option to allow installation of
|
|||
|
packages from "anywhere".
|
|||
|
|
|||
|
The GStreamer SDK installs itself in your home directory, so it is
|
|||
|
available only to the user that installed it. The SDK library is
|
|||
|
installed to `~/Library/Developer/GStreamer/iPhone.sdk`. Inside this
|
|||
|
directory there is the GStreamer.framework that contains the libs,
|
|||
|
headers and resources, and there is a `Templates` directory that has
|
|||
|
Xcode application templates for GStreamer development. Those templates
|
|||
|
are also copied to `~/Library/Developer/Xcode/Templates` during
|
|||
|
installation so that Xcode can find them.
|
|||
|
|
|||
|
# Configure your development environment
|
|||
|
|
|||
|
GStreamer is written in C, and the iOS API uses mostly Objective-C (and
|
|||
|
C for some parts), but this should cause no problems as those languages
|
|||
|
interoperate freely. You can mix both in the same source code, for
|
|||
|
example.
|
|||
|
|
|||
|
### Building the tutorials
|
|||
|
|
|||
|
The GStreamer SDK ships a few tutorials in the `xcode iOS` folder inside
|
|||
|
the `.dmg` file. Copy them out of the package and into a more suitable
|
|||
|
place.** **We recommend that you open the project in Xcode, take a look
|
|||
|
at the sources and build them. This should confirm that the installation
|
|||
|
works and give some insight on how simple it is to mix Objective-C and C
|
|||
|
code.
|
|||
|
|
|||
|
### Creating new projects
|
|||
|
|
|||
|
After installation, when creating a new Xcode project, you should see
|
|||
|
the GStreamer project templates under the `Templates` category. OS X and
|
|||
|
iOS have a different way of organizing libraries headers and binaries.
|
|||
|
They are grouped into Frameworks, and that's how we ship GStreamer and
|
|||
|
its dependencies for iOS (and OS X). Due to this difference from
|
|||
|
traditional linux development, we strongly recommend using the SDK
|
|||
|
templates, as they set a few variables on your project that allows Xcode
|
|||
|
to find, use and link GStreamer just like in traditional linux
|
|||
|
development. For example, if you don't use the templates, you'll have to
|
|||
|
use:
|
|||
|
|
|||
|
``` theme: Default; brush: cpp; gutter: false
|
|||
|
#include <GStreamer/gst/gst.h>
|
|||
|
```
|
|||
|
|
|||
|
instead of the usual:
|
|||
|
|
|||
|
``` theme: Default; brush: cpp; gutter: false
|
|||
|
#include <gst/gst.h>
|
|||
|
```
|
|||
|
|
|||
|
Among some other things the template does, this was a decision made to
|
|||
|
keep development consistent across all the platforms the SDK supports.
|
|||
|
|
|||
|
Once a project has been created using a GStreamer SDK Template, it is
|
|||
|
ready to build and run. All necessary infrastructure is already in
|
|||
|
place. To understand what files have been created and how they interact,
|
|||
|
take a look at the [iOS tutorials](iOS%2Btutorials.html).
|
|||
|
|
|||
|
Document generated by Confluence on Oct 08, 2015 10:27
|
|||
|
|