From ee102c99d2b2dc9b865e68e10b58da05faab03fd Mon Sep 17 00:00:00 2001 From: Shial Date: Tue, 31 Oct 2017 20:37:52 +1100 Subject: [PATCH] swift4 --- SWindow.xcodeproj/project.pbxproj | 31 ++++++++++++++---- .../UserInterfaceState.xcuserstate | Bin 21794 -> 29364 bytes .../xcschemes/SWindow.xcscheme | 4 ++- SWindowTests/SWindowTests.swift | 2 +- Sources/SWindow.swift | 4 +-- 5 files changed, 31 insertions(+), 10 deletions(-) diff --git a/SWindow.xcodeproj/project.pbxproj b/SWindow.xcodeproj/project.pbxproj index c20c4f6..65d63da 100644 --- a/SWindow.xcodeproj/project.pbxproj +++ b/SWindow.xcodeproj/project.pbxproj @@ -146,18 +146,19 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0830; - LastUpgradeCheck = 0830; + LastUpgradeCheck = 0900; ORGANIZATIONNAME = Shial; TargetAttributes = { 62A735A91EDDA1CA008174F2 = { CreatedOnToolsVersion = 8.3.2; DevelopmentTeam = 7Z5C7X6723; - LastSwiftMigration = 0830; + LastSwiftMigration = 0900; ProvisioningStyle = Automatic; }; 62A735B21EDDA1CA008174F2 = { CreatedOnToolsVersion = 8.3.2; DevelopmentTeam = 7Z5C7X6723; + LastSwiftMigration = 0900; ProvisioningStyle = Automatic; }; }; @@ -235,7 +236,9 @@ CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; @@ -243,7 +246,11 @@ CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; @@ -289,7 +296,9 @@ CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; @@ -297,7 +306,11 @@ CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; @@ -344,7 +357,8 @@ PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 3.0; + SWIFT_SWIFT3_OBJC_INFERENCE = On; + SWIFT_VERSION = 4.0; }; name = Debug; }; @@ -365,7 +379,8 @@ PRODUCT_BUNDLE_IDENTIFIER = com.shial.swindow.ios.SWindow; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; - SWIFT_VERSION = 3.0; + SWIFT_SWIFT3_OBJC_INFERENCE = On; + SWIFT_VERSION = 4.0; }; name = Release; }; @@ -378,7 +393,8 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = com.shial.swindow.ios.SWindowTests; PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 3.0; + SWIFT_SWIFT3_OBJC_INFERENCE = On; + SWIFT_VERSION = 4.0; }; name = Debug; }; @@ -391,7 +407,8 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = com.shial.swindow.ios.SWindowTests; PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 3.0; + SWIFT_SWIFT3_OBJC_INFERENCE = On; + SWIFT_VERSION = 4.0; }; name = Release; }; @@ -414,6 +431,7 @@ 62A735C01EDDA1CA008174F2 /* Release */, ); defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; }; 62A735C11EDDA1CA008174F2 /* Build configuration list for PBXNativeTarget "SWindowTests" */ = { isa = XCConfigurationList; @@ -422,6 +440,7 @@ 62A735C31EDDA1CA008174F2 /* Release */, ); defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; }; /* End XCConfigurationList section */ }; diff --git a/SWindow.xcodeproj/project.xcworkspace/xcuserdata/shial.xcuserdatad/UserInterfaceState.xcuserstate b/SWindow.xcodeproj/project.xcworkspace/xcuserdata/shial.xcuserdatad/UserInterfaceState.xcuserstate index c2282c7b24bcd48e5b531ebdb582c2124df9177d..64f7b9733de71a5ad1071bf60091ee1982d155a4 100644 GIT binary patch literal 29364 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 U9l1a_E_#fZqdh!FSPlL^0IMSz0{{R3 literal 21794 zcmd6P31Cx2*XYdM(!FV$F6o-4=|-D0Nt1Nn(*nxgQYc$Z+muGyrY0#+5t%C@s33}p zf{4(v3W%sEDuUt$t_X;tqR5A+h>8m;ZoG5vZMv|0pYQ+Q|K4M1nz=J)X3jZt_PGrm ztq!+GuRnq?q7aQ3#3D{sEvuQRnQ3>q9nSWN8fU}x_C}ApPGfU5wm6`a3gNQ?bwOkxC_VO8}ZF} z9-faE;ydwTyaeBim*bWAA-oDdjC=4V{5al$pTN)I=kad*3Vs#8hTp;O;$!$D{4xFn zpTIxjpYYH4JpKj$ihsiw@b45y$tWMnm-3_hsQ@aF3ZtT_cq)NPqBK-8rKNOK7Nw^w zR1TF(6;ef1F;zlUP(!I<)Hte^YN0$-CpD9rMa`w=Qwym@)a}#~>K^KTYB}`)^$_(4 zwT9YCZKEEewo{K&yQvqbJ=9+6Me1eh0QClSka~|gN_|RwMxCI(qQ0iiP(MAEQ5_ zKc+vSkJF#hU(sLFXXtO}bMz1NkMvLU&-8gFn2|FfOehn^D41|2f{A3J7$p!Hi@^F{7C=Of^%(OknDmY0UM^493aKWo}_^W0o|WvJo5|lH*=9itPktU zhOnV*7^`5T*dc5No5^Zf9h=4KSp!?Z7P3X`wd`ni3|qsFXY1HW>@>EXZDgC+>)9FX z4QwYnm%W+2g}sfvlf8$%pM8jZgzaHBvfJ1l>@(~O>`UzH>;d*&_G9)l_7wXC`#pP( z{eeBtUSNOc0ysGr!i94YTr?NMC2%TE!zFX++z?L3WpM>uAy>o==dR(d$w@+EN(W}#ofr=#x3L)akq2#bIZ90xCglv+)C~tZWY(f^>FLBUEH(W zbKLXXZtewc54V?lk$Z{T$GyzG!oAA9%N^w2;|_5jai_R1xYOL1+*jP!+!^j??mYJk z_p1!cC>bqdWI?iEnOqhoOOk11$+8q#sw_jMlV!>DGLx)SW|dXShRd#zjgpNUuW9dW zZ9R;9kstC$0Vo)SP8e0Kn_=&APlC^0nNzE2Y_+-F-6#+R5sJ{=NRC1X!{Zx?wO+0% zH<*l7mMWvxY_eFirgD9@w!F-et*tOya!fg8mMUwdsa~!aZmpc)bj@&g*c$CtXJcoZ zz1`!TIReF_l#M77MIj}MMlmQB#SxZpL`HmwFYzP(8&LvMp+s0h6w;t%5Rb09IPQ9R=DHFsy-|o1f(>}Zj z_UUMLz`XJV=w8<70qK2Zi1l)%08rdUjnmoMU~>(3*E-yehE~{7RR1$uL;0Xb;dAEb zGgYR!nW{MkV=nxflaoDnt{1y{RDe<*MFwO<*~o;<$bxcEF3LmsB!~nPISC=5B#bCX zIEf&UkD@}ra4{-DrKk**qY9LaDoGTe*+b5eUwGWY;~6~eB!tJaiDoLSsk{8zP>!Bjhkcd=yAQ53UD!x_o72@b)Me{vvDzCtr%x9UJ%}!Y09);D$Mp6=aHj~s z`^S1WAT7aRcTa{@0*n#127BL88Hc6{D6K{{XgsP#6VOCdhbE!PXbMr1Xc9wWNgRnM z2}DH_iTY7A4b=l01+*5UCS*s=XgWzE$-ub+T0P_zatC>boFbZfxyov9wsp38#t53< z?E&r?XYX*?-SCUe1Ev75T|^(wM>?DA_0@pdCY!4X5F}vUyA@%R0(FEo3Gr|WYbAR^ z`d;1H&;|e|N#8_R@(}Ov0eBbA?tnf+?d^_ESVkB$_byf(BuqG|Ritf=%Wn6wp9giK zlr?LJ<`9~Vy3mbi&Ll~ow8KH2DE(>|z>TUN+3B$XuUj2(NSy69S62^ozX{EqGOD`2 zZQ`iv(V{WronRi~QOa6G2>iH(qzXt(mX_PgXjem}7rM?m?kF=q|Jr-A#s&43gP{mH{2_BU+%`&4LU}A2c1%!(*=o{%@Zy{@S;6V5WL` z_~5?wRxs=AK)b>1L+#EsyT{daNR-Sg(WsFz1J zI@@%%j*eElZgwLurLM!}6f9mZ6?UN)Q0O}JEP4(-k9Lz>l1K7M!8)`D?L{x5mq;NQ zPOc;E0yWYm3IMXlNC2d*>D@^l zn11Youz>G^=o@L9-tO>pf*_G6_G4+#g#E*kO6{dc_#++Wo6w1F;edK4KZ(8=H2G=t zC8;7qiFHg;=^cv(3_Odzoz{2W%UmuS9QCv4J2V&U5AmxP;yH8yrEEe!pdZms=x1~u z{epf)zmaRmwPXYtNk);;WDFU*3H^@#K!2jY(BJ4HMi`TEq?*)_@uZGSCDTZ~fX66{ zu`DOsT$X33v|7sy6=iyTt|7-%Wdxyn6`I2#@z`D0+PnHkn=c>j1)OvFqh1EPjG3$s zcVny5ZEq6JkQ*j2>h%3{SS||Aa4bYnG|JK(#>*jR&8yKyp3A(O~tG6h6qg|nke zRo>a&)M{6avrA0sp3u7%32p|?gc*Ak2te+^8CZ+vjvrMGU%dOu!ur7*&Bi9Fp;j=U z^mC>8b3xqVJYplQM{pr7!o{$o5?qSQaCx0uJntaL>O2mhoX6JIF}bPNoCQHfnn)vQ zAZ_*Xs%8+d`B_<6_NiI}VN z_5ev0c@+kl(7P-NE#n2W)RGx}S_s$SNfP=bY49DM+AW-6i6Zs*x_Wt>1i4ohUn(Sf zunjk$x&Nsf*ajf0E*%Uy<0{L3AKP&=&}=$x!47;qo`G92P(*$yglYY9ZH&#+BKBwl z&EMZFSmXjR4l5Hd>3GRDZT~YgUbZB zw*hqhWcYO1TS0}-v=c<;k_Krr_u>0Nl)wS+#`g&f4*oKJKp@|PWFBb+5hZ$HdeH;Z z8wC$6+dOx!kFWRCuEuM;Y8|g7^95sA0I?2KI9`u8kXy;ZJ{68P=zRjh<9mCk}BjrPYQBr4b>lbjTVyGD zj%e!21eMtiCa|~bL3{)ZX#5^Ngb$Ou$vtFQ4}KpQ{R46@@b#|$3kEbkjt;HGpOX9f zar`;{8VqQB68{UI!e8Li_)Gj1xt}a250D4R3bK+sv=N`d-{79i0uWjz*n(mZRCDm2{++0)J2ljA#5O{tN$&FOt>d5weD?T}NSx zLdg_Ex=9bXqU!`oM2&Gd+CU?D&rFS1%R!{)l1IIfiHa7R%LYD-OH}t$hdG+;Wv#8l z-R@4o-ATS=kk?)wJPNejr{(8=ys>f09Alorn5lv&M&8`IIoXC>gP@lONOUTQ3I>UO z3o0g0k_{k$5%GwJiBh0d>!@%lf{LV~$VRf6Y$cEPi`MT1(F()^Nm?%t?Nw|wpuyb| z%6dgGrJ@p{-=ky;>6|jKmmK$ElS-k|f%U0WDvfL-k9Ff#Dg(5@cEL)DXtT9<+FB*K z-!H~t!getp((5?Y3$CwMf_cFjsB91sl#%RMOPR*#H zn-0+r-AHlPUKvj1i8A~tL5A1MYyLZCh=?AqO)>yi;3;?ja}Y7GwSq^}7n`WCwSzs_ z=5V{y((C0ZgO+@WD6SU$u?le12FPJ5Pn5Y&N%XYBp`|Lxvt-yH`I>9Y%TyWk27OjaC_keizeY;G`^Oqa6x zY^qBzT!78@lYOF{(aYvHqg6fBJc>{}d6~RMUhiXZs)AZ zGsIJ{T{s0-Y!Xb}B5Ik)K?fuby5_&bL0;yO)&b(B$>r=A=X8n@z5ZBfTKYgPSSE78 z0f}g<1fo4m-WIfM!~iX8u?YAZ#0G0A2#Tzux~U#&9krgkOAeCv$f0%AMrsqafO?c1 zCdU9b9}~^Q5%y+r1$E;b(_6&fCP}d(DF_x08ne#PhM;Y9~2D z-X}-N2kRifS4=&NG(cw$`49qoAP-_{Z7zopNP#e}eU=c3bC0vlsvN3w_)80rz zb)&Nbd~wyFhvIOsXdr&s=yG>oq(%#Go!BbRn7};q4`~YE3_*ze2qx2$xsMM{9wj zJi^*S0R3)ft6lPOg^hbR_$KwX(D^O$$y(|ia$M|uSO8?@)P^ZaB@-MJ?`bd;iI`46D&=Kkz>MZpw z@~6JTw@~M(A3(mkfTtu93bDsgup96Xri+nEN%9EHW}oemoTJEw(9^oG@+~anJHg%uiR_n$Maan<1FF0N%1JbpA@vcv>G`H~=IfB#VN094zcj%qGn4fSiTBNsML+2Ug12 z^sT0H;PY~Ov(wcproh3Kx(jY?b;U>_WZmhOL>N4)Y!`%Wla#$1XK#d~<~3w5?IUCi zdo5V#2q+WWBrjS9C->aBrg*^{?}G9tRSu_t9c{i4>;+?DwlsqZte-OHOW|9Yx$=>*yYl6E^TzAu&O?zya}q=_(t9$C^Z& z@>0r3Y0&D%7JFMi)%z$rz|$5tV9@6p`**OFeoWZGHXcW;rML4q^4}5bNqVQSr>A%v zwU&OG$4c<(2Acfd4L(Qj7WzHUUD#Bd@SXH+=bgq)#}a1pr_bRj$v4}Xoz28kFr7-F^utcXZ!`Ov_ATwPy+|7c4Gud4o=Vz1#rp!)!C{!y!ch0o2wm z@AHZ=B9>U`cGG!142$HflA1`={s^nyqVVZt+PIIF<*KD)t?RJRTUzsESfe`m1=@*7V zDO>1Yf#?_L-|0W-Kk2{dzv+t%VnCwmMcNy9Y~*n^k4-!_^Vq`U93JQLIByF|W*GR- zQHhKXYn2kY@MKVL z0YGnCFG%1%A>1xW21%}8zV6V0GY)k*J3EBcULx-ddNY(ph@@v?z`3V9d=NI?TuZkvUXc*7bN^u6KpQwppEq=Etq_!=n`1P zObL%Gc|4*|JTv7?6`V7sg0V92po+&sc|5F#8OjV}hVvNyUBlyRA+hZdvc1hv^fMAp zf^E9J&fVDn?z-rX#QdA()XP`&E-YVF(_&X$F(adD5OSuf4k2l(66|6Ke!Eqk7TA?X z%y*``Rm0nxojS4JQPm7gp-TPV%#Vm+19w(Gm{grayRqod8ZvCGL;5zJsa?b4QBv?$ z%S`MRl0nj=Nla}wGntvf<1sv*2A#Y_t7n=(k1^LVl>#1lJQh$W;c^{gXPTMmObd_4 z@pwFsVenMp6oq*0{k~+1G)F5~(M%hUt4ZrexR~i+ZeU!D8~HOHT*P!TGpRggHZvQ? zQ5vR;xe?#O+{i#UU*QHcNn*6Mv#otpXIq0%%@PVcBFff*jUkPL!fqq%?U23z;VgO< zmF}oXx6Kf%BzOvs4wZehVl^pzS44MA-}Z4k)1Uj)if}5WxjC zGt1#=QGo&%O9fOjg>ZqFNqd-0SH;I>=22kMtvm+1+a@yUbT2-(3;1}P$JbpIA5i&u zyq6(&0zP(n@lo%^$1Z_5&+@pTpE$djm#(^)eay>1oL70=$YZ-moM!K0_6v(Sz~iQ? zE{1uVdAoNp@4{l<6&5207pX=*&AS|kJivJejZouMwb?w4Es~&t*oh!MRjFyIP;dvz zMl7#UrKSTd+Ew=1Ub9Fglw5m}`T_G1M0A-CnPWV5@c8;}L5B*;QZ!9O9VFO5BkZ;r z_9m|hlrV8z-;-Xur^@AQ>+_Snz&~fe1d^gD%qbqXda>}OplrTkzGlww7(_(}kKO&4 z{gyd5(8FYYV1DFrJCB`$`VdOg`Ybjnqtj73(CuV?Wquzt{0|0P%o}*@f-(?62lo~1 zC6z86BXC6M4KK-dqwQ?Hthum&$tjI0H0 z0ydj9;qQ4opU1b7r+e5OHkZxg@d6%i;PDP&mr`km*YO_=PdCCj-3$A_k!qC^jchS% zg=h#{!j`gSY&l!Oc-#$v_Wo=w zI|>3;K+c8ra^r06Y@ygo+v=PSwH8)Gjzw=W=W6u^i&1OJ$+Kw7O%|&*+o(4gta+BI z+-%c8K-Cf;$WvbeNT>?R$usM_VC<(3?6MMYVTSr5g!mD$FDfI!;{TU&A&pxm+?y)oC4 zr?upovH=j3FPB4;Hrtw0mTM`qN^gwB%NAbE-^X{YYs>6VRRe*s-?85>Ef(L9!s08Kl!@_>qHOQY`%XSMT z5lzrsP9q+#mNvMKT|c$2%1Rj1!>(gDpt-eBpbOu;tKGyt+P_+GKi7Cy`X5YrNomjIEyz;?0E^#g+#Oph1X9s$^19>uy~ ze}jDsfJ1rgO>5b=dAtz>O|Psv$i5G@%@qqy*$>%cLcuAIH}Uv!?{Yp7mUEoPn+KGQ zu_xHiahc%v0Tvz=3d4Hqxz_FQ&U2bQ15#S3=VHGW>bZElwTJx%k6^#$@iqe1$Ya8( zyIO&wm%Bh8T&)^PQkFjotNV$^+xxZUFYK@0sNmJcdKdWzM+=JePxdeNZ}uXGILuKz zeuBqfGDF~O7muIg@opaP*~l>*%W<5H^Wl6sKOVox!wAH!J4)5{)ebfh#27JO9hTd)-ZMHgynir3Cz$dil*>HPqyALoKhpt)aCG)DbvZ zjWg<-g$pSqt+vkg#+GU+CO6LBTqMSjEV*ad{|N7DbL~p%eZy}=HB~`9vS?w;Ucxn<3 zu@{rtrlzj8hAy{zx_hRr9qi~P_l%~QGu`%CO)ays#0pSw!y)w7W^ZzUVdVA>)QMpL z014MIw2qDzXFFWFXzPTcDyQp`KAr90LJA>}CT$ypwxRf2`e?It4BS+bw5jLo<^Knh z(E}$)lO}lKf2dw!;8a>^s=fc^ydZxJ_F%vAsou7oS)$~X{RukaY$I1s0=uj8y-r37d{j}J(I zz!JTr#^?WD&CvMhok7zt+rSuZ{1vfK%T16L|0WOBYF;dSnp3>^(?SVIp1uzY)40Yf z0%_vx5|DRz{BA#xQB=->w?!ZZOFxiS4$?tapofcdqhzj=$M5m@kPwqSEE43?Ykxc2 z^k#2mNRDOh#5o32PNvG-x2QQBxhiRR?iPRv(UbRid{lt>fdq4W_s7RSmS7t4@&uSU zVojBoXYSyZ3NY{F7IRCuyLfzz#~< zf!oM!;x==Sa$C5q+%_JAr~U0fVPGd!uLEB3i432AjLbYt=CR+xGP&7)1@nX5mGYG#JX{M)1T-~LDJHNtMVYO5kELweewq9$>Gn%!zxdyXVZ>-F%$jQkwn#v5d zvvV!=7E`Tbj3D&uq>sEzgO@t5aZohc!@bV!=ML}~0t;Y}{M^I6$-RX~@c2AWg+K{A zFqj@pN95jl7y7~F#&)i^w@Qke{Q z7#&*A9pT>Rj&dJxAM*GY9{vaa3{FW zxsyEpoyULh_)lT!DVI$)Xr&-2oi1?eA$<7nJC=j#P;G}A6X_0R`oHfj%^|uhNu@qw zC_x`i5pMOAL5Zo*5MWb{l5w4Szd7z}e zp%ZKyxM>_f=(_68#zwmx%$36-p?+Zz$}8NK?pA~ohOpg{LS)L9_=9Uy1p#5`3E42G z>quODf}bi;odoUGjvMVTYjahrZMqx23sNenG)3BUNT6J}{tWD^D-*88Rd>N<(6;fz z1z_dQ)}})#scGp~x=GnPVRzb){+p7ST0dQu9@a3S#o@8T&cwA;3wN>0^+-+=KLBUU z_Aav9I0U|%Ezq&=@?uxFS!m470|_($Gmsk;ZXI;z54mEy=w(8#6#`nl@2z;RsJKQb z)*=}Bpb)t2odj>GFv5-GN_aoTIJiRFfSm9y3OC#uori9NYnLm~DzqBzIrgCSaHVlG zyoq8LdI{}E@4?l!&(SG#8hwQ^yk#N;-Yb!aHCT&HaBF8cT!|S4Z;}{~r{e42K8Oo< z!kZ(O;$?Uveiq&g@sfmP3QM1G-FeU-!D(6D%knaXECy2Z+$XXKStR$VOeu>NL;&T- zQ~n?YcnX*{a07RON|eRR5~xHf5hMa+U8x|Rl0zNw7C|nk|NQ}$a;E>G6IkaUxrOSg z!QyO?gb_Mbd%A=h;BQi{WVTa4C@*UIJrA`KSc4jPsbq%zf~}jSb8e zW*f7ed5U?Oc@|!|agw>fa%?yo3DNTy2%0Cbi4Yn$vL@ET=D`a!iXdED##XT7*n8mx z8K=Ro*MMsKJNRB z@3X$o`@Z12*Y_Jg+AqdWo?SIxZkyYBmGAEjrFVc8}HZT*X-BgcfDV$ zU%Ow2pUcnV$NMeu+vK;~??b;|{3-uf|8#$&zscX?pX;CRU*TWrKh%G?|F!-j{b&1c z@P9vm2?z;L1VjWV17ZT=0t^B90VM%t0Tlt20pkKD1k?pg4!AC$A)qOsIlvRJFknl- zQvojo>Y7!arkObj#zngT6>xqx;sBu3F;1dE9m{8lR>9~P6vG-^n1|7V87t7;Hco};Mm~!U`udu z@X+9z;K{+Z;Pzl=a7VB!cwR6G=7Z-4-w}Lo@bcgXgI5M`3EmmJH~7uqw}ameelPg2 zJXW48H_G$m1@aHu-k>4*4GWUipjieeyTu z2j$1)7eY{oD#Q{pCd3{xJ7i(V%8;i+c7;3_vO8o?$crIAhWruocPI*_LW4u2Lsg;b zP)%q`s4g@ov^I2d=#8QCL+=h<7J6Uk^3X>@cZNO}dNA}@7!&3jW(q3|n;AAg?9Q+U z!d8Sm6!vh~hOn(+JHnm|dm(IZ*h^u@!afT7IP9yiZ^FI}I~Vq2*w0~qDJTV_;1oWJ za7DBtRuQjAQY0%<73qp>MWJH2Vw7TxVw_@vqE0bcF;(GI%vLN=+@V;kxJz-b;(o;g ziWQ2Dimi%g6?+sfD)uQ}R~%5hsd!uQf#Q_n8^yPZ?-f5NepCFe_*3zBI10}Uw}wv% zw}-ccUmxBY-W9$m{EqO&;dh1K9lk95zVPMY>%%vOZw}uQzAb!v_>S-=!*_=73x6m4 z>+ruKlo2@*6%ln2%@NLs8zS5hoe{GlNW?7>w?^C+u_)q>i1iU~MSK)VMfyiZMXDon zBJ&~(B8wtRBFiGLiL8zsA2}hiE^>0@)X3{2TO->eJ0cfEE{nV`a(U!~k?SKjMm`n! zY~=HiFGTK(d?oU=$o-L@NB$D|ca(orP?S6>EGj%IGD;maG^!@5Hfmzjq^KQH???Tu z^j8KdgOwr5Xl0x-L7Aw`Q&uTQDn~2FDyx-~lv9+`l-DU6lrxm=$_}MVIZt_)@^0la z<$cQK$_JGzm8+Cnl-rcsl{=JADt9WMQ9i4DUb$cSp7OBredPzrW6G1tQ_9oIuasw$ zXO-ub7o&ZnS#@LN_1MZAv!lYKe{lwIJz`?Wc29hvC-Ahw&=#_j%Zi3CwgY| z{OASI3!`t3ULO5m^vdW}(O<_fF(ENwG2txfs+&6K*#$AZ}Bkr%bi}8y1i1?`Z==j+9`1sWLA@P~2`dv;C9F4fJKUP#!R@JhmK z3HuY?NI0BuBH^2aZxg;x_#xq^g!3w-qExKPN9C^yQpr`>sKPCQ|cu`HMS+$QkM6FOqs-x9$>IAh)ou)RZi`CbvN2$lE zYt$3eb?RpIbajjRdNr@UOMQ>}KJ^3YmFiXM&FZb{?dm7gJJrvqUs1oUKBzvdKB_*Z zKB@jf{iXVA^;z|INx?}ONfk+BlB$zxlj@SDBuz`|NSd2OlIADfmUMg4okpv8b3{>CR!7xQE8GiDVlVRMU$r~)D&w< zH5Hml%}`B)<|fT@%?{0bn!}nCnlCkHG~a5@X@1rGuK81QF&QT-lSd}cN+!t*k{2c4 znY<)4^O`~ zePnuV`h@gJ>5b_v={Ka$Oz%p+DScl0;`IB|A54EJeRcZU^heXTr9YnjWct(TyVBoE ze?R@h^pDez58;Ny4KWU>8d5i;bqGJ?{vi(xSuteQkkv!h4B0&7i6L(dIXvXs3_2qq zBRC^8Ly?h~F(gBqq0h+9uw;~ElxI|C49mDSV`N5cMqS2~jAdZBnn=`j&ZqMA2xhM1W%r`RM&ODfTIP;Ut&oWPDev$cA=9$c&GJnaukokvJqfODK zX*0B1ZI(7yo2M<%PSAE~Z`0nXy-RzKcDeRJ?Mm$`?Ni#L+J9+JYroQdqy0{MPJ2Oz zbhM7s`Re?2QMx!?f-X^)qD$9h>U6p?-8H%ix+%J8y6bdyU5jppu1z;bcdPCm-E!T7 zx|O;|bltl3x{bQ$bg%2)(!HxYr29a3O!u+wxbBavxGY0fepXRdNmg0bsH~}3*JU+k zHD@`pTC<#4t}H%le%5VSw`VQRTAH;i>;9|T#rV4M zi17pCN5?g9H z$$mNet?Vzd&ze|Mj492OVbYo4!kx)tDlwItDosO8Q%v6Ys)Z5F5HCd*vQ%@$%=Y1wFb+VZSrw`H$opXF7{e#@Jdk1WS6CoKQ6oVI*z zIcxde@`L5?9F#-lusNf0Cg)7esn2Q1*^;v>=eeBSIeT+Ub4TWm&K;XulNX++&ePkF-J^9B9P(e_ErJ$r>Si$&$X$996G!!%y zG#5AvTm_v4vkJNj<`mpou%uvRK~KT@f{g{63$_$IRq#x~a|OE#_7uEWaG>B&!Dj_u z6`UzJTku`Mxq=G?e->OU#Dz>DR~THVEL0a}73LNe6c!hj6fze;1_`WfkQWRTPaWsxGQ6 zsw7{ae@S3Ta7lT| z)RLJc^Gfb0SyFO$$-O1ZOIDOTRI;gLd&v_eJ4<$z>@C?>@@mQck~d0zDordMSz22< z72dt$D(x!0sdQfHEv2`YE-qbKx~%lR(uYeQDP3RsMCr4oyG!?$?khb|`c~pRm4W-EV!*dc=Cv z`l0o6>(AC-tQV|*S}#^om29O?rGI5mrMxn(GNCfDQd2pna#7_Sm5VEvR(@FdMdg>3 mUss;3yioZ^bip8L+n*RlRPK{mw diff --git a/SWindow.xcodeproj/xcuserdata/shial.xcuserdatad/xcschemes/SWindow.xcscheme b/SWindow.xcodeproj/xcuserdata/shial.xcuserdatad/xcschemes/SWindow.xcscheme index 34e4264..8dfd9c9 100644 --- a/SWindow.xcodeproj/xcuserdata/shial.xcuserdatad/xcschemes/SWindow.xcscheme +++ b/SWindow.xcodeproj/xcuserdata/shial.xcuserdatad/xcschemes/SWindow.xcscheme @@ -1,6 +1,6 @@ @@ -56,6 +57,7 @@ buildConfiguration = "Debug" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" + language = "" launchStyle = "0" useCustomWorkingDirectory = "NO" ignoresPersistentStateOnLaunch = "NO" diff --git a/SWindowTests/SWindowTests.swift b/SWindowTests/SWindowTests.swift index 2b8e37f..a5ab1c6 100644 --- a/SWindowTests/SWindowTests.swift +++ b/SWindowTests/SWindowTests.swift @@ -44,7 +44,7 @@ class SWindowTests: XCTestCase { } func testSModalDuration() { - XCTAssertEqualWithAccuracy(SModal.animationDuration, 0.2, accuracy: 0.01) + XCTAssertEqual(SModal.animationDuration, 0.2, accuracy: 0.01) } func testModalCanDismiss() { diff --git a/Sources/SWindow.swift b/Sources/SWindow.swift index 964db9a..f4d59f0 100644 --- a/Sources/SWindow.swift +++ b/Sources/SWindow.swift @@ -106,7 +106,7 @@ public protocol SModalPresentation: class, SModalStack { // MARK: - Default implementation of Modal Presentation protocol extension SModalPresentation { /// Provide information about current status - final var modalStatus: SModalStatus { + var modalStatus: SModalStatus { if SModal.modalWindow.rootViewController === self { return .presented } @@ -117,7 +117,7 @@ extension SModalPresentation { } /// Return SWindow stack - final var stack: [SModalPresentation] { + var stack: [SModalPresentation] { return SModal.stack }