WebRTC.Framework: Non-public API usage problems

We used the project within WebRTC do instant messaging, package upload App Store Connnect found today has been rejected, suggesting that we are used to access private WebRTC API involved;
in the following figure:
Here Insert Picture Description

It made me have a big nod as
1, this version of our WebRTC in the AppStore has uploaded a version;
2, our customers also use our library shelves;
I suspect that once Apple's audit policy has changed the;
later, after investigation found problems as follows, more pits, especially on this record;

1, AppStore SDK currently supports only the real machine uploads

Our simulator is included
Here Insert Picture Description

2, the simulator version Excluding way

2.1, instruction culling

Culling instructions are as follows:

lipo -remove x86_64 WebRTC -o WebRTC

Here Insert Picture Description

2.2, within the project script removed

Excluding script as follows:

#!/bin/sh

#  RScript.sh
#  HDSFM
#
#  Created by Chenfy on 2019/11/28.
#  Copyright © 2019 Chenfy. All rights reserved.

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

3, the problem

Where the problem is to eliminate the cause of different ways simulator;
before the script is removed [Section 2.2]; later direct instruction culling, then appeared above phenomenon, the specific cause is unknown;

Published 172 original articles · won praise 35 · views 390 000 +

Guess you like

Origin blog.csdn.net/u012198553/article/details/103537987
Recommended