-
Notifications
You must be signed in to change notification settings - Fork 327
Segment: Bootstrapping Integrations
This wiki is for Segmented hosted iOS integrations. If you are a partner, please refer to https://github.com/segmentio/analytics-ios/wiki/Bootstrapping-Integrations instead.
Run pod lib create Segment-{Service}
Replace {Service} with your own service name, e.g. Mixpanel.
- Select
ObjCfor language. - Select
Yesfor demo app. - Select
Spectafor the testing framework. - Skip view based testing.
- Select
SEGfor the class prefix.
The pod lib create command will create a directory Segment-{Service}. Rename it to match our convention mv Segment-{Service} analytics-ios-integration-{service}
The generated template will contain a file named Segment-{Service}.podspec. Replace it's contents with this file. https://raw.githubusercontent.com/segment-integrations/analytics-ios-integration-mixpanel/master/Segment-Mixpanel.podspec.
Replace any references to Mixpanel with the partner's name. Also take note of the following steps.
- Downgrade s.version to
0.1.0 - The Analytics library dependency:
s.dependency 'Analytics', '~> 3.0.7'. Always specify the latest version of the iOS library released. - Replace the mixpanel dependency with the partner library dependency, e.g:
s.dependency 'Mixpanel', '~> 2.9.0'. Always use the latest version at the time of the release.
Copy the template below into Makefile at the root of your integration directory. Remember to replace {Service} with the integration name.
XCPRETTY := xcpretty -c && exit ${PIPESTATUS[0]}
SDK ?= "iphonesimulator"
DESTINATION ?= "platform=iOS Simulator,name=iPhone 5"
PROJECT := Segment-{Service}
XC_ARGS := -scheme $(PROJECT)-Example -workspace Example/$(PROJECT).xcworkspace -sdk $(SDK) -destination $(DESTINATION) ONLY_ACTIVE_ARCH=NO
install: Example/Podfile $(PROJECT).podspec
pod install --project-directory=Example
clean:
xcodebuild $(XC_ARGS) clean | $(XCPRETTY)
build:
xcodebuild $(XC_ARGS) | $(XCPRETTY)
test:
xcodebuild test $(XC_ARGS) | $(XCPRETTY)
xcbuild:
xctool $(XC_ARGS)
xctest:
xctool test $(XC_ARGS)
.PHONY: test build xctest xcbuild clean
.SILENT:
Update your deployment targets for the test app and the integration to 8.0 in Xcode. Clear your framework search paths.
Run make install build xcbuild test xctest to verify everything is working.
Run open Example/Segment-{Service}.xcworkspace
Now that you have your template setup, you can implement your own custom integration logic.
https://github.com/segmentio/analytics-ios/wiki/Writing-Integrations