public static void EditSuitIpXCode(string path)
    {
        //插入代码
        //读取UnityAppController.mm文件
        string src = @"_window         = [[UIWindow alloc] initWithFrame: [UIScreen mainScreen].bounds];";
        string dst = @"//    _window         = [[UIWindow alloc] initWithFrame: [UIScreen mainScreen].bounds];

 CGRect winSize = [UIScreen mainScreen].bounds;
    NSString *stringFloat = [NSString stringWithFormat:@""%f"",winSize.size.height];
    NSLog(@""height=>%@"",stringFloat);
    NSString *stringFloat1 = [NSString stringWithFormat:@""%f"",winSize.size.width];
    NSLog(@""width=>%@"",stringFloat1);
    struct utsname systemInfo;
    uname(&systemInfo);
    NSString *deviceString = [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding];
    

    BOOL b = NO; // liuhai
    if ([deviceString isEqualToString:@""iPhone10,3""] ||
        [deviceString isEqualToString:@""iPhone10,6""]) b = YES; //iPhone X
    if ([deviceString isEqualToString:@""iPhone11,8""]) b = YES; //iPhone XR
    if ([deviceString isEqualToString:@""iPhone11,2""]) b = YES; //iPhone XS
    if ([deviceString isEqualToString:@""iPhone11,4""] ||
        [deviceString isEqualToString:@""iPhone11,6""]) b = YES; //iPhone XS Max
    if ([deviceString isEqualToString:@""x86_64""])  b = YES; //iPhoneSimulator

    NSLog(@""deviceString=>%@"",deviceString);
    if(b)
    {
        if(winSize.size.height> winSize.size.width)
        {
            winSize.size.height -= 78;
            winSize.origin.y = 34;
            ::printf(""-> is iphonex aaa hello world\n"");
        }
        else
        {
            winSize.size.width -= 78;
            winSize.origin.x = 34;
            ::printf(""-> is not iphonex aaa hello world\n"");
        }
        
    }else{
         ::printf(""-> b is no\n"");
    }
 _window = [[UIWindow alloc] initWithFrame: winSize];
   ";

        string    unityAppControllerPath = path + "/Classes/UnityAppController.mm";
        XClassExt UnityAppController     = new XClassExt(unityAppControllerPath);

        UnityAppController.Replace(src, dst);

        src = @"#include <sys/sysctl.h>";
        dst = @"#include <sys/sysctl.h> 
    " +
              @"#include <sys/utsname.h>";

        UnityAppController.Replace(src, dst);
    }
Example #2
0
    //修改锁定手势,苹果Xhome建
    public static void EditSuitIpXCodeHomeButton(string path)
    {
        //插入代码
        //读取UnityViewControllerBase+iOS.mm文件
        string src = @"- (UIRectEdge)preferredScreenEdgesDeferringSystemGestures";
        string dst = @"- (UIRectEdge)preferredScreenEdgesDeferringSystemGestures
{
    //UIRectEdge res = UIRectEdgeNone;
  //  if (UnityGetDeferSystemGesturesTopEdge())
   //     res |= UIRectEdgeTop;
    //if (UnityGetDeferSystemGesturesBottomEdge())
   //     res |= UIRectEdgeBottom;
   //if (UnityGetDeferSystemGesturesLeftEdge())
   //    res |= UIRectEdgeLeft;
  // if (UnityGetDeferSystemGesturesRightEdge())
    //   res |= UIRectEdgeRight;
   // return res;
    return UIRectEdgeAll;
    
}
- (UIRectEdge)preferredScreenEdgesDeferringSystemGestures1";

        string    unityAppControllerPath = path + "/Classes/UI/UnityViewControllerBase+iOS.mm";
        XClassExt UnityAppController     = new XClassExt(unityAppControllerPath);

        UnityAppController.Replace(src, dst);

        src = @"- (BOOL)prefersHomeIndicatorAutoHidden";
        dst = @"- (BOOL)prefersHomeIndicatorAutoHidden
{
    return NO;
}
- (BOOL)prefersHomeIndicatorAutoHidden1;";

        UnityAppController.Replace(src, dst);
    }