# IOS定位web
**Repository Path**: brtbeacon/ios_location_web
## Basic Information
- **Project Name**: IOS定位web
- **Description**: No description available
- **Primary Language**: Objective-C
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2018-09-21
- **Last Updated**: 2020-12-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# NativeH5Map
-
#### 项目介绍
通过APP展示H5地图,本demo主要包含app与h5交互:展示H5地图、js调用APP蓝牙和GPS状态、调用IOS系统分享、APP传人js扫描数据等。
### changeLog
2019.03.29
新增实景代码,需新增相机权限NSCameraUsageDescription和修改WebVC类
2018.10.12
重新编译TTLock.framework,启用bitcode
2018.9.20
修正钥匙链接
2018.9
添加APP开锁代码:LockManager类
添加js alert等支持
添加detail接口
#### 集成开发
1. 引入本demo内WebVC、WeakScriptMessageDelegate和LockManager类
2. 新建[[WebVC alloc]initWithUrl:]视图类,并自行显示。
3. url传人您的地图地址。
4. 配置plist蓝牙定位权限、实景相机使用权限,请自定义描述文字,示例:
```
NSLocationAlwaysUsageDescription
后台使用定位权限
NSLocationWhenInUseUsageDescription
扫描周边iBeacon需要配置定位权限(在Info.plist)
NSLocationAlwaysAndWhenInUseUsageDescription
扫描周边iBeacon需要配置定位权限(IOS10需要)
NSCameraUsageDescription
实景导航需要
```
5. 添加开锁库:TTLock.framework
- 找到 Target -> 'General' -> 'Embedded Binaries', 添加上边拖入的framework。
- 找到 Target->Build Settings ->Enable Bitcode ,设置为 'NO'。
- 找到 Target->Build Phases -> Link Binary With Libraries ,添加CoreBluetooth.framework。
- 需要上传到App Store,需要在target -> Build Phases添加Run Script,复制以下代码并在XCode的Run Script下方+号添加Input Files(如本示例TTLock.framework在项目根目录直接填写$(SRCROOT)/TTLock.framework,因为提供的库是支持i386、x86_64 、armv7、 arm64的动态库,上传到App Store,需要去除i386、x86_64模拟器版本库,要不然会报错。)
```
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: "
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
```
注意:
-
- 如果url地址不是https,请配置plist:
```
NSAppTransportSecurity
NSAllowsArbitraryLoads
```
- 默认只支持定位设备UUID=@"FDA50693-A4E2-4FB1-AFCF-C6EB07647825"