[ 
https://issues.apache.org/jira/browse/WEEX-642?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16642731#comment-16642731
 ] 

ASF GitHub Bot commented on WEEX-642:
-------------------------------------

cxfeng1 closed pull request #1618:  [WEEX-642][iOS] fix wxpageRatio not report  
&& report createInstaceContext failed info
URL: https://github.com/apache/incubator-weex/pull/1618
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

diff --git a/ios/sdk/WeexSDK/Sources/Bridge/WXBridgeContext.m 
b/ios/sdk/WeexSDK/Sources/Bridge/WXBridgeContext.m
index 06f01eb691..bc25837c62 100644
--- a/ios/sdk/WeexSDK/Sources/Bridge/WXBridgeContext.m
+++ b/ios/sdk/WeexSDK/Sources/Bridge/WXBridgeContext.m
@@ -458,6 +458,13 @@ - (void)createInstance:(NSString *)instanceIdString
             [sdkInstance.apmInstance onStage:KEY_PAGE_STAGES_LOAD_BUNDLE_END];
         } else {
             sdkInstance.callCreateInstanceContext = [NSString 
stringWithFormat:@"instanceId:%@\noptions:%@\ndata:%@", instanceIdString, 
newOptions, data];
+            //add instanceId to weexContext ,if fucn createInstanceContext 
failure ,then we will know which instance has problem (exceptionhandler)
+            self.jsBridge.javaScriptContext[@"wxExtFuncInfo"]= @{
+                                                                 
@"func":@"createInstanceContext",
+                                                                 
@"arg":@"start",
+                                                                 
@"instanceId":sdkInstance.instanceId?:@"unknownId"
+                                                                };
+            __weak typeof(self) weakSelf = self;
             [self callJSMethod:@"createInstanceContext" 
args:@[instanceIdString, newOptions, data?:@[]] onContext:nil 
completion:^(JSValue *instanceContextEnvironment) {
                 if (sdkInstance.pageName) {
                     if (@available(iOS 8.0, *)) {
@@ -466,6 +473,7 @@ - (void)createInstance:(NSString *)instanceIdString
                         // Fallback
                     }
                 }
+                weakSelf.jsBridge.javaScriptContext[@"wxExtFuncInfo"]= nil;
                 
                 NSMutableArray* allKeys = nil;
                 
@@ -558,7 +566,8 @@ - (void)createInstance:(NSString *)instanceIdString
                 [sdkInstance.apmInstance 
onStage:KEY_PAGE_STAGES_LOAD_BUNDLE_END];
                 NSDictionary* funcInfo = @{
                                            @"func":@"createInstance",
-                                           @"arg":@"start"
+                                           @"arg":@"start",
+                                           
@"instanceId":sdkInstance.instanceId?:@"unknownId"
                                         };
                 
sdkInstance.instanceJavaScriptContext.javaScriptContext[@"wxExtFuncInfo"]= 
funcInfo;
                 if ([NSURL URLWithString:sdkInstance.pageName] || 
sdkInstance.scriptURL) {
diff --git a/ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m 
b/ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m
index 4afbb13fa5..3ce5e4407e 100644
--- a/ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m
+++ b/ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m
@@ -201,8 +201,7 @@ - (void)setFrame:(CGRect)frame
         CGFloat screenHeight =  [[UIScreen mainScreen] bounds].size.height;
         if (screenHeight>0) {
             CGFloat pageRatio = frame.size.height/screenHeight *100;
-            pageRatio = pageRatio>100?100:pageRatio;
-            [self.apmInstance setStatistic:KEY_PAGE_STATS_BODY_RATIO 
withValue:pageRatio];
+            self.apmInstance.wxPageRatio = pageRatio>100?100:pageRatio;
         }
         WXPerformBlockOnMainThread(^{
             if (_rootView) {
diff --git a/ios/sdk/WeexSDK/Sources/Performance/WXApmForInstance.h 
b/ios/sdk/WeexSDK/Sources/Performance/WXApmForInstance.h
index e92bab0306..455cbf6e93 100644
--- a/ios/sdk/WeexSDK/Sources/Performance/WXApmForInstance.h
+++ b/ios/sdk/WeexSDK/Sources/Performance/WXApmForInstance.h
@@ -107,6 +107,7 @@ extern NSString* const VALUE_ERROR_CODE_DEFAULT;
 @property (nonatomic, assign) BOOL isStartRender;
 @property (nonatomic,assign)  BOOL  hasRecordFirstInterationView;
 @property (nonatomic, assign) BOOL isDownLoadFailed;
+@property (nonatomic,assign) double wxPageRatio;
 
 #pragma mark - basic method
 
diff --git a/ios/sdk/WeexSDK/Sources/Performance/WXApmForInstance.m 
b/ios/sdk/WeexSDK/Sources/Performance/WXApmForInstance.m
index 170e03347f..5adeb011ee 100644
--- a/ios/sdk/WeexSDK/Sources/Performance/WXApmForInstance.m
+++ b/ios/sdk/WeexSDK/Sources/Performance/WXApmForInstance.m
@@ -230,6 +230,7 @@ - (void) startRecord:(NSString*) instanceId
     [self setProperty:KEY_PROPERTIES_ERROR_CODE 
withValue:VALUE_ERROR_CODE_DEFAULT];
     [self setProperty:KEY_PAGE_PROPERTIES_JSLIB_VERSION 
withValue:[WXAppConfiguration 
JSFrameworkVersion]?:@"unknownJSFrameworkVersion"];
     [self setProperty:KEY_PAGE_PROPERTIES_WEEX_VERSION 
withValue:WX_SDK_VERSION];
+    [self setStatistic:KEY_PAGE_STATS_BODY_RATIO withValue:self.wxPageRatio];
     
     //for apm protocl
     //iOS/Android we default recycle img when imgView disapper form screen


 

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


> [iOS] bugfix ,wxpageRatio && createInstaceContext failed report
> ---------------------------------------------------------------
>
>                 Key: WEEX-642
>                 URL: https://issues.apache.org/jira/browse/WEEX-642
>             Project: Weex
>          Issue Type: Bug
>          Components: iOS
>            Reporter: peihan
>            Assignee: XuYouyang
>            Priority: Major
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to