Difference between revisions of "IOS AddSDK 4.1.0"

From AdLocus
Jump to: navigation, search
Line 20: Line 20:
 
* 在 Build Setting 中 Embedded Content Contains Swift Code 設為 YES
 
* 在 Build Setting 中 Embedded Content Contains Swift Code 設為 YES
 
[[File:ios_embedded_contents_swift.jpg|900px]]
 
[[File:ios_embedded_contents_swift.jpg|900px]]
 +
 +
* Release 時移除模擬器用的 binary 檔:
 +
** 在 Build Phases 中加入 Run Script
 +
[[File:ios_run_script_0.jpg|900px]]
 +
 +
** 並填入:
 +
<syntaxhighlight lang='bash'>
 +
APP_PATH="${TARGET_BUILD_DIR}/${WRAPPER_NAME}"
 +
 +
# This script loops through the frameworks embedded in the application and
 +
# removes unused architectures.
 +
find "$APP_PATH" -name '*.framework' -type d | while read -r FRAMEWORK
 +
do
 +
FRAMEWORK_EXECUTABLE_NAME=$(defaults read "$FRAMEWORK/Info.plist" CFBundleExecutable)
 +
FRAMEWORK_EXECUTABLE_PATH="$FRAMEWORK/$FRAMEWORK_EXECUTABLE_NAME"
 +
echo "Executable is $FRAMEWORK_EXECUTABLE_PATH"
 +
 +
EXTRACTED_ARCHS=()
 +
 +
for ARCH in $ARCHS
 +
do
 +
echo "Extracting $ARCH from $FRAMEWORK_EXECUTABLE_NAME"
 +
lipo -extract "$ARCH" "$FRAMEWORK_EXECUTABLE_PATH" -o "$FRAMEWORK_EXECUTABLE_PATH-$ARCH"
 +
EXTRACTED_ARCHS+=("$FRAMEWORK_EXECUTABLE_PATH-$ARCH")
 +
done
 +
 +
echo "Merging extracted architectures: ${ARCHS}"
 +
lipo -o "$FRAMEWORK_EXECUTABLE_PATH-merged" -create "${EXTRACTED_ARCHS[@]}"
 +
rm "${EXTRACTED_ARCHS[@]}"
 +
 +
echo "Replacing original executable with thinned version"
 +
rm "$FRAMEWORK_EXECUTABLE_PATH"
 +
mv "$FRAMEWORK_EXECUTABLE_PATH-merged" "$FRAMEWORK_EXECUTABLE_PATH"
 +
 +
done
 +
</syntaxhighlight>
 +
 +
[[File:ios_run_script_1.jpg|900px]]
 +
  
 
== 開啟BACKGROUND MODE ==
 
== 開啟BACKGROUND MODE ==
 
* 在Capabilities 中開啟 Background Mode 並勾選Background fetch
 
* 在Capabilities 中開啟 Background Mode 並勾選Background fetch
 
[[File:ios_backgroundfetch.jpg|1200px]]
 
[[File:ios_backgroundfetch.jpg|1200px]]

Revision as of 10:34, 22 June 2016

加入 SDK Library

  • 請將AdLocus.framework拖曳到您的專案中,並勾選下面兩個選項:
    • "Copy items into destination group's folder (if needed)"
    • "Create group for any added folders"

IOS Add File 2.jpg

  • 在General 中 Embedded Binaries 中加入 AdLocus.framework

Ios embedded binaries.jpg Ios embedded binaries2.jpg

設定 Info.plist

  • 在 Info.plist 中加入
    • App Transport Security Settings
      • Allow Arbitrary Loads = YES
    • NSLocationAlwaysUsageDescription
    • NSLocationWhenInUseUsageDescription

Ios infoplist.jpg

設定編譯相容性

  • 在 Build Setting 中 Embedded Content Contains Swift Code 設為 YES

Ios embedded contents swift.jpg

  • Release 時移除模擬器用的 binary 檔:
    • 在 Build Phases 中加入 Run Script

Ios run script 0.jpg

    • 並填入:
APP_PATH="${TARGET_BUILD_DIR}/${WRAPPER_NAME}"
 
# This script loops through the frameworks embedded in the application and
# removes unused architectures.
find "$APP_PATH" -name '*.framework' -type d | while read -r FRAMEWORK
do
FRAMEWORK_EXECUTABLE_NAME=$(defaults read "$FRAMEWORK/Info.plist" CFBundleExecutable)
FRAMEWORK_EXECUTABLE_PATH="$FRAMEWORK/$FRAMEWORK_EXECUTABLE_NAME"
echo "Executable is $FRAMEWORK_EXECUTABLE_PATH"
 
EXTRACTED_ARCHS=()
 
for ARCH in $ARCHS
do
echo "Extracting $ARCH from $FRAMEWORK_EXECUTABLE_NAME"
lipo -extract "$ARCH" "$FRAMEWORK_EXECUTABLE_PATH" -o "$FRAMEWORK_EXECUTABLE_PATH-$ARCH"
EXTRACTED_ARCHS+=("$FRAMEWORK_EXECUTABLE_PATH-$ARCH")
done
 
echo "Merging extracted architectures: ${ARCHS}"
lipo -o "$FRAMEWORK_EXECUTABLE_PATH-merged" -create "${EXTRACTED_ARCHS[@]}"
rm "${EXTRACTED_ARCHS[@]}"
 
echo "Replacing original executable with thinned version"
rm "$FRAMEWORK_EXECUTABLE_PATH"
mv "$FRAMEWORK_EXECUTABLE_PATH-merged" "$FRAMEWORK_EXECUTABLE_PATH"
 
done

Ios run script 1.jpg


開啟BACKGROUND MODE

  • 在Capabilities 中開啟 Background Mode 並勾選Background fetch

Ios backgroundfetch.jpg