From 230a11bcfbaa4f87c4db09dda3e8a20a7871ead4 Mon Sep 17 00:00:00 2001 From: Loris Perret Date: Wed, 11 Dec 2024 11:59:54 +0100 Subject: [PATCH] Push du projet --- UniversalLinkSample/.DS_Store | Bin 0 -> 6148 bytes .../project.pbxproj | 385 ++++++++++++++++++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../UserInterfaceState.xcuserstate | Bin 0 -> 47850 bytes .../xcschemes/UniversalLinkSample.xcscheme | 78 ++++ .../xcdebugger/Breakpoints_v2.xcbkptlist | 40 ++ .../xcschemes/xcschememanagement.plist | 22 + .../AccentColor.colorset/Contents.json | 11 + .../AppIcon.appiconset/Contents.json | 13 + .../Assets.xcassets/Contents.json | 6 + .../UniversalLinkSample/Model/Book+Mock.swift | 22 + .../UniversalLinkSample/Model/Book.swift | 14 + .../Preview Assets.xcassets/Contents.json | 6 + .../UniversalLinkSample.entitlements | 10 + .../UniversalLinkSampleApp.swift | 17 + .../Views/BookListView.swift | 50 +++ .../UniversalLinkSample/Views/BookView.swift | 36 ++ .../apple-app-site-association | 17 + 19 files changed, 742 insertions(+) create mode 100644 UniversalLinkSample/.DS_Store create mode 100644 UniversalLinkSample/UniversalLinkSample.xcodeproj/project.pbxproj create mode 100644 UniversalLinkSample/UniversalLinkSample.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 UniversalLinkSample/UniversalLinkSample.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 UniversalLinkSample/UniversalLinkSample.xcodeproj/project.xcworkspace/xcuserdata/lperret.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 UniversalLinkSample/UniversalLinkSample.xcodeproj/xcshareddata/xcschemes/UniversalLinkSample.xcscheme create mode 100644 UniversalLinkSample/UniversalLinkSample.xcodeproj/xcuserdata/lperret.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist create mode 100644 UniversalLinkSample/UniversalLinkSample.xcodeproj/xcuserdata/lperret.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100644 UniversalLinkSample/UniversalLinkSample/Assets.xcassets/AccentColor.colorset/Contents.json create mode 100644 UniversalLinkSample/UniversalLinkSample/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 UniversalLinkSample/UniversalLinkSample/Assets.xcassets/Contents.json create mode 100644 UniversalLinkSample/UniversalLinkSample/Model/Book+Mock.swift create mode 100644 UniversalLinkSample/UniversalLinkSample/Model/Book.swift create mode 100644 UniversalLinkSample/UniversalLinkSample/Preview Content/Preview Assets.xcassets/Contents.json create mode 100644 UniversalLinkSample/UniversalLinkSample/UniversalLinkSample.entitlements create mode 100644 UniversalLinkSample/UniversalLinkSample/UniversalLinkSampleApp.swift create mode 100644 UniversalLinkSample/UniversalLinkSample/Views/BookListView.swift create mode 100644 UniversalLinkSample/UniversalLinkSample/Views/BookView.swift create mode 100644 UniversalLinkSample/UniversalLinkSample/apple-app-site-association diff --git a/UniversalLinkSample/.DS_Store b/UniversalLinkSample/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..a44ac647f6948cb9a53342696182fd0572abf2f5 GIT binary patch literal 6148 zcmeHKK}y3=5Peg-h`8y}jgSi{^aioSox32o)HbEoCMGC~xXNu@dkI(Gpx{;X&Hta! z5?uvEWd`QIpUKQ5{|#g^0AzBXkAV?@h^jc)Bx`?GA8;8!YjF&H62ATOngLOVq6B97lM>3>9+jYgW3#b+H&{v#PA!(L|p5Wh<*R zofg%US)%pZdhvevdfYc--ex?1{#d>A&RAb+z3F_-$*Ci>nx!$alj;C + + + + diff --git a/UniversalLinkSample/UniversalLinkSample.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/UniversalLinkSample/UniversalLinkSample.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/UniversalLinkSample/UniversalLinkSample.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/UniversalLinkSample/UniversalLinkSample.xcodeproj/project.xcworkspace/xcuserdata/lperret.xcuserdatad/UserInterfaceState.xcuserstate b/UniversalLinkSample/UniversalLinkSample.xcodeproj/project.xcworkspace/xcuserdata/lperret.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..c02020551f268c22fc4ddb692e23282023c325ae GIT binary patch literal 47850 zcmeEv2V7Lg_Wzxkd-vAWRRkL({0lN}}RZ#>&vBZ=+iJEG9HBG=6 zOL~v#y&GFhVtQ|;_x?X~?=D5qq9Y^F3wGnVDZ-Q{C9)aO~v} zhdILWoWNN)kyBSrX?&0id@Y-;Swp|u;zZM`R! zj1R92R|O-5c5xCXmz6YCG=+6^b01#fR8Hgia|5`6oSnQ@IkZlq=(=anrel+#;@;Tg)xtYPhA`O6~-16?Y#?_cHe$ z_dfRl_aXNY_c8Yg_dWLm_apZc_cQk=;t)a@S&)XTs1NFk63}oo0wtm(l#J5QNHiVI zKr_)SG#kx9bJ09hj*deWXg;b$RVa)WpoM4=sz!^^5>$hhqFPjk>e2D20X3o~)Qpy) zx>4>6J(P`*xbPigF&PNxZ%h2U$18PC7=zjD7dJsK?9!8I# zN6};Gar6Xw5B0dSP#%JNP z@pu$gPcjuB4?BH$fe{mayi*R zT1YFof!s)LA~%!U$=&23@-TUX>>|6#9ujh~F8~8@PiErkY@yq!Y{E7T&{Mr0D{5t*;{!;!jzJ+h)+xU(AX8s2L4*pL5 zLH-H;d44Cqi+_oKm4AbOlYf_gkN=4OSik}ictH>>f+$FWEGU91Xo6MfBMcA*3WJ0Z zLZXl)WD0g6O9%)#LavY}94!D79J5E6`mAc5OxSJ3NH(<2(Jq7 z2=5B-37-pJ2ww_c3Ev4nSvU)_D3(5!0hV~n5X*2&vL)Rz(voG#wzw@GOR;5wWuj%0 zWwK?8WvZpbQfeu)OtZ|gR9NO)7F(8BYAj8bX3H{*ZlRV_EvH#dx14Rc$a1mea?4eg z>nt}|ZnNBF*=~8z@{r{*%L|qrmKQBMExRoHEc-35S>Cj~YkAM|spTuncb1lTc&>P!c%8UK+$!EA-YniO-XZP~UlezWyTsk%9&xYu zlDJQNS$su&ReVEyUpydwE`A~YApR)+Bw>k2yd+4nWR-?UL#1I-f;3zjAtg!~Ql{jR z+)|!2N-CAgq-oN0X@)dYnkCJa=16m;dD48TS~^~8kQ${`(uvY3(wWj((%I5E()rTG z(pA#c(%sTM(!J7l=|1Ux=>h3M=^^Q1=@ID(>3M0d^pdnsdRux&dRKZ+`bhdr`d0c* z=4C;)$f7LCvaHB`+AOmkZ>OTqqaG$H-&lV!1?~EzgnX z%3*ndTrVFlH^`0ha(R_}wtSAfPCi#YPd;D1K)ym=FK>`rj#{F!_}{#^b-{zm>m{zLv#5fw>EP=+fbltd*-Nmf#n zR3%MGS4JvXidPw}9Hktsj8l$P#w*3jWTjM@qs&#p$^zwN32GxAEKnhWrWx=cMmJxe`XJx5)qo~xdxp08f6UZGyAZcsO?ThyD? zd)4jged_({BkB|Clj<|-v+7QDulkburTUfnwfc?vt@@q%z50XtqxzHjv-*qrht^k% z(fVnzTAbEj8=wu;25CdI;aakmuGuxG=F)sxu9l}At&Pz_+E{I}HbtANm1xtox!OFf zTwACu(yFz^+7hi^Tc(|$tq6_|vZUJPnwmYFmFvaz=4@OH7dL%kN!F6^%Enpne?+^OmQ-0&(b(9^_2K&J zSSPJqKQ311DbCeX%WX;C0(Vg;-{Z7!PhrSw&&de|?V&)x>v9B~1x3zaxvk&0 zP~r5th9!;l6_w#oU1jsqaBWkx?-hsG)A@ z#FDAu#-_T4iupBRLnR7TG*y(_Vp+ecYpd#(k83P~$tbC82#0IuwSQaGP_Z;zZcAzZ zqO@XuenrFdipFWxjnz=s^y;QXCDpYHYr^oP+%^mf1}mFDM{6G~d|yyk+tg53Qxk3| zw;jc*iq1sWXYP<&9E^`Z)%jI#S zxY68E+|k?^F39EUee}M1jNVU=)#LR3`T%|47FdKru82E^8_SL3j)hOfundFrbM^D| zi}Z{2OX1TMIxLC}dR4NhZu!KDWz`ESU=hr(+CK&x!mt#5pj25?bxn0sb+~bQbyd?M zv)H)W#(L0l>l!+WwZCZ;n=`FCygU@1-@I@ko8XuU;iYvAE01ZYs9)6aZL|;VEzE`H z3ahFk^+rcOgDdAUH*qt$S=?-H4mX#Zrw`WS^&$FDeVCrGi93#~;O29cToo7AhwIt8 zLod{e^;v9`2{S6|s=`@N?fB}ZtoANuwJ$adu_RmrLkU;4KP|V#AL2Em>!8#h(@@u3 zZ@vd6Kx4TrvHgXKbxqZk;YOo5qfI%#BpRUDFh9FgPcFMvk;)=$m_Ey=~<+ix8 z+66rp9$?lHt|}YXwVr5yPUcSG;x=s1Q+IQxa;I^txizy)?5PDNoMHYNZk#i*BvcJ7 zR##imu(B0Ot(`HkWRhVCnGDdSKP7cQP*5=1#+lsNTwDuxmOiqDJ4er85XP9M$9HxE zDxS|>z+G5w8w6|1pkp$#(WZv$8^VnMU=^$vx?Rtl)Q5j=e$;+LnDD}+$Ofh73<0X?J-1 zc}L|Jjw{|RO0u=IzM^T-OaQF#im}zTO>K&*0mYZqGNZ7uqNcdIc1cOa()t=$hn~JI zW319>BfERs`t!r&xn;#Po5WFxngy8)aak8^vt*SR;r+3^wgJBmRA(NN?> zW6(G>9!*B2;H0Pl*Tiac5xNST4cDRj&@ON+yn;SMzkmyY;DLB3cH%MM7MO@9;{|vL zJ{hmWm*OkI32+C#7e9|*0~7xf{5c_D)DH#&-c15z6qxMO$zrk+jPx~NoL@lJldH)l zFvV{rcaiO6r#TfEng4^F>+*+uYvS)E+@+xT6t1YRG1aC?%}q7cwP6M!ri+OIVg$?E zxXZZ9xwU`0e7S9Yd1=!z1=F0q(6rKyHb7Xpd>tP>Yq}=W7C}*Hm z38)vf3&&Nl6lq{`-k$6X_rh)iG*jSkTt3Um1746H1M(SQZ{v3zDy*ren7I9Rb&s~njLcBkW{%!E}gzbiAr>GC^H zIw?BKuW)a$S$>t<&%MUIt{3UY=wtP98v!ET0?l%^eylzow8|lDmPhog!5R8s*0{z- zFl-Jy_J*4_8k~Q$urQQ*#683&RgrE~1SdIo0K1DCp%k*jgGTrkR?l-0v{;E%H;eOXk4yzYV>Vs>$YI_#(f9|E1 z}gmV=Nm%K=zK(9?hhW5gS?9nOTmECrTxM>VBv<~nNV{>+$Fqjp2c z4+0EKhrJR%Sh~fqKT-mwVI@}!hSI4ZMQ-9=gnf-Yu(R7ZWR1<3YSmd?ycw%ZOS{a*ibLuUghz4ll4<@Xa>CAC#n zdeGf8Yj@pkgVbkm*68uYWiw`1Ev;X9sySUKs?YT9I(^(}(J281jLWlBJ)WG zO1;@O5@jMg%0k)50Sc!JxseBG&xiad02G*u^3W(W8YuB-pv53iV*$`(Au2-0ps}Ew z9t-MeF`9rTqDi2pPC-*q2`H;&dZk{ahxG;eLVb~5tuNM>=r#IMy;iT&>-FRH2E9>l z(wp^V`f`1RzEVFyU!|X@pQN9xpQ7tJ)lbz=(^uKdwY9X^N4Q5f{ueJ;1p?kNHa2)t^3Um)M< zEbw%c_JIaanB&c{yNZgS?n1ZA9xQYf*^Bbw+n~dhjQBJG)a~}$^Mi#x zXe!^G<12*e$uI1vyQt8W15@s?=Q!CY^I@v<3!N@Ij6UdgxeEN?cI+taayawd&S1XX zU6ccL!>@?qnLBHSQ_61=D3t%n1K`8BZ z!4wtb6cmOE{Q2%+QAgcAAfKX~B9Gk<>j10ch0-AhtR;9=bNnt>zRTHZb@GFuB8S_V zW6yy`?4AOclYr9$WD|511ReQ)PbiSnQFo3%=m~h79+;C5^d#i=!hAbC;IYkjhYEB2 z9)~;BsdQ0Mf#2`;*u4(6Iz>QGL6}vb*pSZ$4fqOuo%-$c7y2DAU3PcKQvlvzXUHBb z@E0=Lb%fj@;D|t{(m+8juiN9b2mCqUJ1+9%*z@zfKqonFpf-Pz!_{Twoz9#tI6a@02ihPC; z3{P_Wz+}FnkiEcD;3z1}aXN}ZzUlQ1bu5UYqm5uF-{JE*9rglm5az~F;Dvz#Y34Y9 zih#FrLV-?P;qm9Vf30=JwzS$!)A$1YVGy9wkKPG}qB-I7u;<+Id z$LnzipoLEJ1nlbZ2V8D|en0_Ffja~|;{y;36*&ulw>;j?wC~S>VlICUY;S>V@c=qQ zzk@-$H{V+Tv=3zD>O{@3{6$`;rw~LIl<_!#dvid(*nL4)(Cu-C;4PTds7!MCoUp6o zbpd|>Jb8i)QJp|(UXL%}@f87Kc{<6v0+-WK5OVqLP!-he11SSD=(Y#FIl)4QtH|vr z>coY?!a}dl>jP;~==8!20?z9^|($tDRImyhoMA8HK*0+ zbS|?MtwC$`^Ysf_(I9jt=t&nc4Joy`G2Ae@f!X*Cpe03jYYdI3a0R$5n5$!42$Y-Q zT}l>!7knXX)O0RmYB1*-R(HGF7wyA^=wdFj1zn_H(!wQyjs|THW}b~k<^+i-O3XQB z+CtG?4s->&igkTGx>CPPzq}Rp50gQ?Gn_K9?XMSyE0%z9WVlekESWL2{Yk`8!uAl` zcXFaVYC|`3ncL7t@Z4=e*Q3p73)+gdp&QVR=q7!=ex-huezks$eyzSiZ_!)zHhtqZ zbPKl`H2&Ms9q3MU7rGnWgYHG!_3OY_^o0JT{*?YS#VHiqDfUt9r#OcVGsbX#EU0L% zX)+9Pb0=(Met1D$Lzp>~DjKRA>uL?xP#LU7WHQX{Ez@DtJEE!@uKkrY;aQy@CPY3! z{nfB{Py#y{O_Lj{m%_eDamC8IW@NM$7I+EnKz+gMfK9^6T($S zf1>O1G-XvR>sd33!wVwaVNR{~ z-nGy2EOY#94rflSUbx689Bt+m#GENjl!3fs)g381k8!iS)^d+~m6@7)i)^F4A(etAfe20GG z;@Z&n=m+$pe!G5$erFr{nM*>y>URMj-mRz3h3Y!&qdDwT$ELImKC*64s8|RtzvilN z`>ZF9Iql=lFasWM@!*EA#3f-xzZV+XuBUb^LgJVUzcb#op-4Be4TE{N8TY|`aSZN< zV{shrj|b=v=nv`-=@09V=#T1;>5p$_2mpV<+%x|gXwb_r`WP-4$dJLPA?h2e0t{%Z zs|hokuVJuo&XE2{39&k3dvjsc!XWHo#yKye~<*^5Qu@C!k08sN; z{W<-4{RMr8{^BN_hezSj@bhSZ{+;?Riu>q0DQ03Is|ybHF>wZZ05KkswT&^q8w(Hx z!V10wC;MFUJBA8QcgAeSKjUFf*0Ae`0Q)u9R52!;3;`um!^eZ8wh2Jm*fFw!m&gdW z!N=l>TxJ^{kBjjHeYd_x-`j>KahvcI{UzN`(O|}E%~;H9`0*MYmEDiX3|N|A`)ovk-W^##?is{(Y$2rR3ysR7*g zU6C9*2u#q_Y3l_5vDOF%iPUs(`958qvUX-idr&sD7~YP4>QElqy(s!?`WO0F`pXo> zP}EodO#gBpJ{~vVMi^cbZpO>-a=Zes#3yi@VN*I38CY>$rLmhouLH)IfC0hRF7>B^ zmlm9mVe@-8|(t>E69nbXl^;h+e^iTCybkG*F+db`FrqisjBVMGP zHO=Kb8KrK-r(hjZe5$@*e?xy;e^;;AgV*4-FtSD5W_;$Xjuy*|zQ9}*=&#Spud7>< z)wsNRL6hMy!sp<15O@OI+_8@bjlsGZFHNqfZfM2lvYoNRmWeifKE42-slTberN3@& z_}lpCqf1$@^mkY%dftJ+o3f*;(wIGY>ZD@}OG~nQuxfhzj`4X-_Q8{QJqG%T0ofLq~g;2USv196#iu79F`TyC3sqWTkx&3p_5U3t$zZSpNjx$z^WEPvWQW)A$+uEPf7l z?q9$=@QeD_`ZxNw`gi*G`Vab#`cL}L`Y&7YE>l6lFX4T#pPYHDVu|%Nh0|R$|2!d%sbuB3O^?=_DeN;Tq86jA+Dz9!4AagJ95%@t=evkgP%|;wci^Anb!D0!0>zB#LC#TuQfzu0N># z5>RAd9Z5{VF5kALwOA~jN0DeC4Czg5(}3s7#)Vo*Z`i*eeW8Mw?iFl4 zd&A>zSPFYTq@5Lqx0h*9LE@OI4V_H~(w_{1RUiY%K#Ej~v{o`04Wh^j7Fg=Ms;HC? z*Dh>YG@B8UA?m`7w!MiDePvV>)yzmDNntf5kz|T&6!igb2N|p%$LdNgTL6UAcu;+% zOf;Ay$|Biju(P?Coiw*r;$X1C0-?J->!yJb7p^8A;>9(@PXf4(!d}%E6eUs=Yp69- zDH?u|UPJQ8sHk2;(J+eQq6&vW$0Q%l|2``0vW8UbV>fe74fWD%)`aIGbzhAbtuq>j{+ z<4FTWNfZGIrcjhhQ5r?*6pf@PgQ84|>=b2fBTc59AS>`b0_rT6Oitq9rEF7FP~-+# zLDA8sxS0IkCoY(>VKNi=AD1x~13-PSc?ATKGaKE&Q$uw8{~%e&IUrfcI*J?-(L&B= zEO`OBko}{`Ns-I^saM$IZGi~#lPkzo435^5D=G3&!$=!)Hx7>D~`R#h2gs-Xm?7UJuYG z?k0CY**m+Jy>s5!17E%u+;;oxXRTQ~O`8E_qw{_5O@|EO*P zqz}G4`qrc58E`$2$H?R43GyU)iabrx7>a@v~sFiF+rbsZKVS90t&a(?TMnYVH&)KlA322S>hn$j9j@h3-T@k8=4 z#Hx^wD4N(pKA~ump4#P|nH9}VU~WUYL-dU=$k(Qj{>l*2Qx3CQrSt2mR(2P$KarpD zM)E6&*q_KB1k~#36qW0sz?B*z7Cz0T=(sMv10M0XL&nag5E2nF>J1soODMICmwAN; z1!NjUKwUFC#OqI{c%9C~D`2>Ks$5)*or9`qyJ< zm#}=IDPiZ8+y3RY{A_*>KbN1! zm-EN*;9>;|sHf<7ia?obq^OCaW{Q?kw49<9Tlq>;d*c_HRzAOk>252dy4$LDJOA|m zKE>_dZ|CzXK^x;wpy-5%HpZU>+8F52#$R9t^KV5&-tepW(?QIu%|E^mcNkMT6zyQY#&q}ed}@_6vQ_E3VuC* zB}J!FbQ(pg+xV;bYnbk~h9c5c>MvYD?{H8;9<8S0|F|+~xWj7nv}= z=t#pj8$zRDX&*eG4iE=7J+rniDYyOWnl~+O{uBOtu(|hX`i>g7@*iF^il3lc9EN6ty=Q z7WZwi3ZUaZ@ZSgA|4|mV&GR$-WsK+zV8Za89CFC+_T46+6asfM|^6(CC($slW6H^}NEXwj}^ z3vR%A!67&Wa2DK1(M=TH+$MMgFT?s7$_U;UUuO8AL+F_CT>_g;ojMqi${Y|9ktVikT4!BZlO>p5{?nZ3gZMY zHE*Zr4vOxi=q`%xrsy8S;ua<{i(8lyvAFMzSlsvhhgsawrJp6tWdyTdm}3~)+q)Rr zU99Ek8mF4PfL5twNiyQMgXnBwR0S7Pbgmg>4i)Ptgk$?V#vIigr@8i=y2W?V)Hd zMK5g?ZZrj^aI0zL2zN4Zxi2a%_qQ84AO82r%74F+BRs|gATZF&Q33cA6M#<(&#-?K zy+YBe=1&lSR+}#h2s?#6OaSf@U?pFp==D}%ukaE@Z&391krROXg*R9uuQ6i>9EMt} z@Fp{M-s;iViEg$E?+f55Y!f~ZJ`_Hp=pBmQrRcpj;S=FgCIH{3=!5?c1mM>o)V}F1 z)ZV)Di+lZ}C!TWU_LqLGoLmE)2Lbp!l>MQ5+14vRdhKdDzV!UEw&7#HvH=vf3&5WR zNL7XXN#R!mu0LXM{U*~K-s+|~bc1UP#?=G?chdOmwIV<%$*B&&CY z=}uuphqiMpDJF7%^_R$P$uN=o8xy(1M;f_1f`Yn?r5&;@E)%l9E4TfN+BUJ;;k#TaL0EP0d*poR@fhQIS*KD!OpcqB4+A^Cl)*Q5x{i7J` z_ZdF`sbeEJZK<>@03@(fS;7>KWV&v;bIW6pH{i zmIi~qaMcxTJ9$#Q)=$m2m2$94tz8$l;1X4$c$Ldqu>k1HuHFAR+F13sN(F63^=qOk0-?4@`(#fj_y z5r`zSyv&yO6^cjb`4Fbnu_IL#UKXxlJ5X8C9h-2Ky~>C#He=E(uXh|nVtLE*ws`_e z7kYpwhsq_bmUmc)5zA!h{t%)(qjBox=F=`)o0j)2A9N5vCdH{;2>`<2+AIewpIg45 zIE~_Tibwv#1n{#-02%)y0uZstLl%ojD9&mT0YkFcY9AtxMU-I$L`4M9aZv1T&lC`Q ziG2Z1X^f1y=`@UqTdv}YQKZZV(Byh-$kUePD|#ekS2=8AdZC~>rSlz6l_ zMhsG%NAW0%M^k(h#Ya;-hGO_KpW*_FLlhTMTtx9P6py`0ED%Ftp;*Li7RQR?xMXp> zSPY*hij$bKFplEMlsrPoV|oE4Pg3#}_(91tlS(?`ZqxL7=P)=5Op&pW21SQD4S_j;mb&xezghM$SsGI$)u>1xiccgbTwWGZ!4tBsI%kZlS!?BSa zsdDBJ^C4uq%BT$n0^!(@7Y427L&uiX*TM0Cjm9&`yr?n|NUT7qTge~7NHzj2{Bp4l8vJmu0w_L~;$n&?GB$75YQ=g(tHtBXZ52maqXx$f#KA%g zbrYnKuw;eK?KYe3PAIp{Ji_gE1k87C?*y~GN#!=z3i}EcLTs<8TL@VNUY{=nNxN{s zEo9b1`miGh((>UHihQ@*>ks%{PG2yZHz%GXo(AWQh$oAuh`LC{Qz@Q8@l=XSC@!VA z>^gC^xJFzno-Uq2@ia?kFoY*E8}tIHbKx znZIZQ&OC{7l6gSNl;-NnCB!t zfgLvSF7a;h9`RmryLg{?zxaUop!ksZFvasIE~gmuwF-*oQ(Q@L6~$qS7f`&A;zirU zM@=JCd=l>ypJqF3;&V*0R7cHFz^GmnF9#h0{yX)*&ujP}wZkUv2cuPdjpD@-qg8wp zjMhU&QHURi;Js@VKNLTrxQ61Tt>P!*rxe#xeEbn}EQ()>->^o$0>>hAaA~dLx8PXB z^*uTkFN(s^&*JZ(+ljx3zly(6+(2<7#Z7JEAL5_PU~Q&&*}vall`LFuN$hTfZu)KG zQMa!sc=?`^CGSbszYo@(xLZ=7tlGV7?a!}XwR+Tqqqfgmc&sJi*Vqn&Rq7?h!p@r1 zTe3-gq`p#&)Q{p76tAQhO!!q4pGfgZ#?G2Ffb5V4ao?CbYZ!uHKvB@)ygm?HeGQS( z9!2`Uk7fPe#j74J7B;fyC+4N?mev8%o!cGhdUE4Q7eLtyyO%w*8&A4Ky4>Vp2o3@_-Zh7t!sxVJBW(p8 zNV-OhbFA3Ga~K3PZ78!tV|*!eMvw?)~R#q=Fgv5{Vo zb~0w(A-zcPjTGP1D(#YXQ+zYUcQWocA~~Sa%hGF%8DEiJmG)B%p4eL{zO7AqU3!D5 zD7RA#F);t`Ku_s?V6YFmGg#89H|3x92QAxnrdKbxyWD1|C?7-FPr8?-r}oKSwx{@% zmW&5$s;@Z#0-d5hb?JcgC7b8ZnQnL2;dQ$xFMcom#<@?e?8$B`s?h=GWY{k2vjC&>-~L^)YbkyGU~Ib9wpXULhdUCxrTDSm?DCnn%5T$I%{wD0j;%pzO--WqSzDj84IcGI%jJ$tTGt%csb? zOl9z6zDe<06u(XJI~2c5@p}e<%4-2Y&)}LOW+4RQ6jS`6Zd@SrpJx`z7s{6~n!E@$ zFEB(Ejcp}wk~bi&5t17ZN>7Z=)Rpqp3_!1<_@l!DXsdjk37{Jd0R80e5aKrZF0c#b z8{`}1o8+72TjX2i+vMBjJLEel{*2-S6n{?f7ZiU<@mCaoP4PDre@pRqTjjeW;CY{E z7s?MY==?qkoe&RVhIJ79--nz3e!Eb9fq@}Nu^*yfxC_9r`+*`+5_&}j9j{e>RR*H_ ziQ=DI<=5pmDE@^K?uaRp^1Jef4AkC}-Ufcew<0Nj z2|)E#ccAL&FcJA%DEnRavOSy|5}oHC6#I2?4exgAMrsCxaYxCP<_mMOOL&+bW8pDw<+ddMUjXo6<+=tHe;4Yhs~9q(q`b zrbMAcr9`8|N=dJ+O03DY%0QECl_9{kgk5(CM-@`ir=4x%|Br2ty#1%ZDf%r+CMC8A z+bY>ihv_kLHoDY4B?rhu@hbsJ`ce|ps^ltpl=P!y&=F%@WsDL6)>VQ^z5+Y!v6RG7 z(!Wh9B!Y4bB?FjBLI$$t{-*NqH#|50sN%9)nZWf{CU$4Xp5kAXDNuH5_p*nMe^ttq z8El@XG1eW-SXX$Hu`cK%hi2V*ilO=?DWLiR>keTO7jzg<{kjLuM%Qzp(!f}Eky5QJ zR+cC=%2K6PsZ;8e<0%z+jk1SlCUO=TUExEBa9?4SM?WPF)FqE1fbV&yVMP?so|QUWY* zZ&fZ=uAn4~5+~!NBN9fbT%)uw;W1Fzz>E))4Mwxl23rBd(M@*r!5gA9xLLV@vHKQf ztFny}7bR{=JZ;L2%1umqcq#Gy`z5tg(MAz$o0yTj$9JfJ+xCN4>N$Y9;TVJ0p*Yfmb>80S8v zJgq#VJgYpXJg>Z<>`-1*c2bf{34rn_N=8$16eUMfGKP{MCHa&TY*ltgICo!!bN4gO zWmmWvLbs@$bEo_t=l&Bo_hZJnpHNa5<=g|nxrcPRD&HzUFuwgx`JNIGeq&peAC;dd z8Ak~mJ#(b^_IH&t`4)6y;M-$Ca`3QS1CpbAZh3_MREw$r*Q%l_sUVJvDVadY#5PqW zf(okJBtu9~W?lS8MeE;?)_+s(?^a{D-fF+@oY+H_{cg2ClpWB$Y!BJ{(J2_Lnm$6+ z@DY-!e`nf~ROTd9lhqV8RZUaVRd5ojnW|mQQnM*3rKF4!2$Pyl$qY)sJMQc9`~CSLsSW@0$hT5amim^~bGwp(2eWmj}B z+r#l`(J5G^o(i5n^+fd~^;m!s$bb;_0`+1>lNYkEWjMFzuRVY2dKJ!KX;H7Fr1@~3Kea{O$Oth>Z8Maa<$s3| zx2lkQ+d?2mYi^5rBPA;#veAsSQ*Tl4fTRfZR`oXZc1lj5WECYRLQ;f!mwGqTEl;9^ zvNhgSYPK;e)`(n?7iB^xQZj*?B3Tu;enO14mPBU@$j;Ie2$uNib( zZbtByRKwjHwF@KP*)qDs^>!(l-wZeJPF@6&<&A%%bR>G1MaD-LXq6Qh!np-HFU# z=OLyXx>)Bh{P!xu$txb!}N= z1v}n6S_9m7c&N%f-5;eaIm94Kj8n}gv+N7#z5$BbVD706`q2@j(uQiox-5k@LQCxW zMT!wY>Vn_raMJge-1tegN`80PiCt%y!1WFdIN8E%Ik?x8-!ljwES znp^X9t=O*xq7}z=8eu1%jSgd!Hac3ee-|q6V3cUlpauy@orq5>)QY-(F-|MyGF!D{ zwegf}rDPk}_}WA!z;0j!WuAoUHd29LQVZH|WQBWI02GFq%|{u^Wa!B82u%e=sX>#RkB&A(B@Ne8zr~5YE@d8k~=85Q_q@aj%%6;FmUHn&&$*EH5*3Cm{y~~ zv9d$DEY`t*(WcdEbu5YS@Wpz*-6A@U<25+dxmD0}C&S8^(mIe~}K}sHCBzP_( z!G{lD_1tKqlL1c5d`;~lpfheW7@8HkfWQDoA2k=?3T-`{cRvxX1!~o<;MPXx>niOU zP#!e^(#Kmg0MaMmLM=!lWEf~(5pt+Sg{)F-BWtS<+}#~@XKI@@2tG8vYtgn*^0c01 zQvXe$g&8HI`AOPs+FfAcXt!&3Xm?WbEG5rT@_d_iw|0+qFC{NfvWt?Jn2E#G!)^&~ zW)2!d>2jO5rvfZ@4ens6>Y4zTztViscrT@=_qvv64Mb<^A?*>i>JL-0qeXj^k{8+9 z#PlF0cWY0=+&rZ{&2AQ9H^cz5t={$VHFupz$xd@Ip4Fa%#ej>8!mZk~9gFdT_9ANn zRLI>e8u$zM9I^>$V6XO)wr?gh(P&(sL&@H9Tduz#2QHF?OH$#gVYs}~<%FA3U2rF4 zeo?-=AmDKn<>&aytLqol!JQM;OPk@gle&iTiiV{=kJ+(Tv{xZ1abn4Y=B5g`AIT(v zHtiK{KeraHSvNmNXXJJ5Ek?F)Xm3)okCK;LwYN3UGGC$ORo3zUMQ7kH7YFy&z+l`N?e+of zM=oxw_PO?j_NDff_O-^wLv zaPu6Oto^3_uKl6?Y2~bl?T3B<{+wQvd`QVhlzdF#5NYx$C7NLfQ2pn@TJW*jC}FLF=h%oHzgsuKx3?- z9y(8+wH8^AfzT~Vey8LQJ*$#SNXA^kZtHlix3$=xzMkS68jyraI@r07;Gv<_+CDnq=++*$4+t#OVI|NQks$^Cn z+%^+z0{ETZ47bgI92}sNnI+AYmEmwzxN1*qT(ABE2eZB}39oFN1^-7n)G|QlTL$TZ z9s^RK2yVIAH*{FS@DaTdlafbhXXr59k`eV5}Yk{A*Uh2GRa9m}V183QAc= zioz8v4L)iwcPcUbqyW)`7q%2r|hc0jwd$GX4yS)(&Q<#%oVML8J%JN8a8IWx{`4=ux;z) zsjwvG1;6k{Y1zDXG0BqkSGJW-n+j`f{0_usj+ITiF%)=XCZyoPnF?$QI_AA~_S7D} zh0=59MQEdS?o{}ATm|5DCu)OBXW6BBt@Gja9=_)!t`7(Iz;fxFi}Q2ixMFS!SHjhC z&D@FH8txqK3hqkoYVKNY3wH~55BC`N1oss84EG%O0=JiYhx?fOn)?IE$c6@@cr+9Z zL&H%b8ifkbTyz3D5rURZLua9L(fJ52Mn;#T_2?>e4cY*g3crfJLqDTm(eLO_Y{4>C zu@&w{?F(0;#=#w#6Y*p`6;H?W;ey8%cokla&%~GGtKcHGyYPK*C)qCiKK=xMg}=o= z5i7Bobd6C2Mk*u!NB(1B4}ThJi*=H9^4#{-VD~|`!Ba=3FY}s*4b#Mb*^764E4}Xlh z%58s92>JwtQV(AfD^$`1*CqdDNp{n#Q8ICiWX_GD|5z89`p@n)-{d?1`p>-5x~htm z2^CEVPG_#i2P86(8^L9APA-=_8pvZBH;0=iHApL@HPSlia>yXs2zf)Br5mN2rQ4)C zq}QZxq(5bw+?NIG%LC*=a=biLPLQ3lTlUI+IY-WuN6SacLAgL~l+Tve%a6$)C@Byv zG*_9Ylq;tw=P1`IElQhmopL>d6>Ni0f}53FmB*DQVYB>M*eKtj>{NCudzF34E6Qie zA8KFNkIPYu)H!M$Yy+I7UZ!55Ua4NKUJJhLHgG`SrrrVG=6lrb>iyvOeMkLX>!+n? z#oA(Rxu$EUYOA%i+8Npf+C|zW+GW}m+Ld5+JgL2<{bCiZl2x{<)_$NAq*=YzTx)@K zo^^?})>?0Ev^HCpTQ9U;X}!m~-FkoDv-@7$_kq5T_x(I(YRv4I<6~CDTp6=D=FXVA zWA2T)FXn-mhhiRy*%7ldW_Qfqn0+y?#O#lGJ?6)LefnkeE9zI)uesmyeyjVf>vvwi z3;JEu?~;Dk^xM#{wco~moBD0;_i(=tV+Y0N#fD;!i5(X^KDHuuaqRNglVexMo*R2v z?B%iRW7}eHi@i7Yk=Vy#--!J*_S@L+V}FeOIri5$KF$&+#VK)GT(3BH+_bop<67gM zj{7j~+qmE2{^-y3$Nl;K*8aWw_vs(gKem7W{#pI=`_Jybtp92K*Y-c7|JnW5^*^uw z)A{KN5&#y=kaWc<_d&&EF=zaxHU{Og7KTe8E3MDlpos)D)Qft!nNn4V(CEb#AThbj#cO|`@%qLru zdnMbF2PUT^rzdA5XC*t5UCEP^=O)iju1a2zyd-&Pa$WNA$!8{SOTH)h#pGSddy-#D zemVKo zsgI^Up890!)2X{s_oTj*`f}>4sjsE}oEDdslQuQ2JZ*kjRocR|>a-cwl3|w zv8gx25+@@0T8zJ|ulu z`tbC`^yKvH^gw!U`Z4J<(r2a5NuQT~T>AXpP^wZPN zOg}sQ-tW?Yi7E#uydCo(?B_$cGMj9)W;&-gPFWlEV!rk2?|vrlG9 zW=`h#%+k!t%y8zS%q5w%na5`~WiHQLnYljmuFUMfv3;U_vc1GU z%|63E%id^TYrn*Pqy1s~>-IP8Z`R&Cb0tP8Vl&3Z8F;jBlq9?yC<>-nr#vtG-3BkQfK@3V0>pKZyOvWI48 zWc#y&*#+5!*~esW&AvVRnd}|e?`MCW{ZsZY*}plaIA%E(IF>qAI?i@n?0CrWxZ_L5 zZ%*E6bM|%ibH+JWI!|?;;aulzbMA4z?fl;Pqw{Cyug>3{f4Y#1xCEEzl3hbx39b>Y zBv*ly7C<0{Y!3ycymsuiqQ;j`J3KCwWV~)4emjv%QPG%e*VR)O)V? zBJZW%E48i|+>C&AwZGcl+-3J?VSe_pI-E z->bgYeQ)~S_Wj@|ev4o7EB@pCC;N5(ss1(o1OA@_wm?iEE-)|<9~c%G5l9ZC1u_Cz z0cT)rV0>UgU{YX8pfoT&Fe@-8FfULMs0@Syrv_RAPXs>7QFEL*b8_^YYjYmVc`fJt zoR4xo%{h?sea;`bD3{L_bCp~zw^yz$cS!Dt+~nM}Tzjq~*PZLlosrv|dur~Px##4b zmwRFE6}eaCUYpyRyD|5L+&}XY^3wBsdE@em^UCt(=QZc8$Xkg z-c@QS3U-8}04QICvzeAH8;{$CB}{nhm0aA8NCxNX%saBJOyxJgI|NysD#A!HE<*^4A( zCwvGY37KSXl_>5~x7NDr)>?7kz`Yl4#kN|lujhQv`^&w5!@bWr&!4&Haxdmy%Ds{M zH1}2R``k`YSI~E$UZB39{-A-N(V!`yd7wq0r64c}27-eML1+*S!~&T?^&mUQ0dj*H zK><)06a#GmZ3pcF?FQ`u?E@VEodBH$od>mnu7KJ>k3dgB9iSKBf#A{LOz=4H1n?Yi zHaG{o0E`9Gz)Ua;Tmfza-v!?XKLkI?qvtvDw&h*SyPVgacO&n1-o3nsc~A15LApVD zKzc*^Li#}lKn6j6gp7lH8!M1$kQtCgkfjh1BoD%bh#(S(3?hfrK+F&e#0p75)yf7au01Lq) zuo!GLYy+$Xwi&hq_A6`;Y#*#0_HRM&g8l`A3WgSpC>T{RreJKr?1HQU@He+wVF9K9 zUr@-Xr!@&xiU@=s(d@;tH)c^P>X*;zQWaA6^>5GY(- z*jo4wH5fG)g+ozLG!zrXLJ3d`lnSLq8BjH-T2vjX9_2?xP;pcWl}0tA)}q#Bhh2f)6rSz9P~o;5;PQDfJUOxXe?TTUXMP7zJR`sev9rz zf5G&{jKPe<%)%_efG`jY41>U+Fjx!?!^E&KYzzm($A~ZzOdTeT*^g<*{DmEXos6B1 zorRr?osV6FU5W)^(b!Tf9b1O2z;duWY&F)5wP77tH`b30Vk6iXb}jY<_B8ekwiSB; zdkK3LdmVcd`vLn8_FwE5>{nb@Tz6bQ+)&&w+>f}?xJ=v(+-%%jTsDq~W8o@rl{hX= ziBsdWI6cmXTZU`Gt;99s2jesGnfGx%2g1^gxa zGyDtuEBqV$JNyUyKlo4h&-kxJU5mOGjVsD4;uP77HWr;LdQTWa$Rgkgr35;mj8IMx z5|jirK}RqW0D_rdAy^3kLX?moEF-KWtR}1@Y#S+b>t{HK~9mElbgt^$ZN>!$Q#HlP?{-gDH|x8C|fAoDLW}gDJLjxlOzl=cH{IBgPb25mMiiqF zMhSz;U@*!UVuq5TVrUpTMlHj_ureALPDY5ajIn{Sg|UsXgRzUTpK*wBm~o78g3->n z$9Tnf&3MCj$N0(|%ACTS#>{4dnJ{J%lgMN-P0U)Rg=u3tm~LhxGr$ZpW6UITIWx^{ zX0Bx(VIF6mVxD2PGS4&Hm{*wX%p1(x%zMm-%qPre%;#l2%O;k=$_Qn;GFREUvi)V} z%bu{hvWBt{tTGm#Wn$H`EG!$#!E&*@EI%v6in0={6l*MVE^16+J8ZRP?JDPywzGRy0@qS@E>u z1G_gngFS#fnEgF_82d-|X!cn41onLPBKA@?mA@Mz8Os^Z znaG*U`H3@wGn+G)lg*jWS;$$;p>Q;uBxfJz4z~w)E|<(zaYNiK+~2tSxCgnvb5C z`FKHIgtv^>#9PH%!&}EY$M4FYz@Nci#K-XQ{8B!buj3o}4t|6m=co89_$&FV`Rn*Q z_`mXhDA5<~@Y!5YCf!A`+$!Ct`u z!6Ct)f@^}?f_s98f@gx~f>(k!g0I4U!tugM!l}aP!db$(!g<04!o|W|VV;mIEEUp( z3}KnDLio+2DHI6BLaDGy=n?)bY!$u{eJ@%fVu=9Ja?u{q5z%qcDbXLIHqlMd9nn3} zL(yZ=Q_%;}C(##i7jX}9Z*hjWzj(SBC#H+b#ovx#u~;k*l3kKx zk_(cjlIN0FlDCph$={Msk}uLO((clp(mv90(uvZ^(y7vE(wWjZ(rjstbb)lSbg2|1 zrArOc71Be}2eLl0Su(6lB6G@uvWP4$OUjyMEwW9rEwXL09kN}rBeIjSKV)ZR7iE`a z?Xv5#FI6L}rdG|a%Bsq#T37|Hf>sq&A*)bT)m3Y%j#sr--Kct1^|tDhyqA2We2jd$ ze2zR@K3~2>4wC1|p>l$}OfHtoJRA!Y=wM^BlTC3WiYEf-h?Na@w+NV08x~(3hUaZbn z7pW`NJav`Yr1q(U>LzuIdb4_)dZ&7~dawF``VaM4^*QxL^<{Ot`nvk2`mJV=W|jt{ zk!f6-m}Z%#NwZ3`PP0+-i)OQCpXQY2jHXp{L32rSMe{)OM)N`QkLF)(7j1WKPi=4Q zaP1`RVr{NAPn)lWYYVj)EnZ91lC`B;saCF4YE@c|RI(gWLRieVt^S429AMmP#N?FlcCmNH8dDp z29F_SSa0~nu*I<5u-mZLaKLcL&}z70cw=~P_{;Fo@Y(Ry*v;6(*xQ(49AKPioMQaR zINdnYILDZ6%rP!7E;cSTf{b*d!MMVB$oRn2$27}?HAzfPQ_vJK#Z5_5v#G_j*|g2H z)3n>P$8^GU#?)%MV7g+uX1Zy*UDLHDvt~w3cFp{nMKw!n@@wEVg*BKOT#dFSUURzU zV$GeJcQqes{sS_AOkg}P8<+kO9?z2G9dWzy-vB7GN{5 z4cH0n2KE96fZu_mzzN_qa2vP>JOCa6Pk;{KCGZ+}3v>d10sqwgP@7Xrtu@v*)gG&T zYVKv8VuqQq<{~r6Og5L9`DUS6VwRZ|=4!LqY%@E|ZnNJUGDppE^G@?s^F#A9^9%E9 zbEo+)^GEZ)-xx^$x{-C`>n7Drt(#t#RhLt@ux?3RZXK^KUiVww;kwqkdvy=%Ue1UfXAxQ?mMV+VqPFNPMhjr6vsf(&%QDLfOWLx^ zvc|IBveD9F*=*Tr*={*!c~w88KBt~qUt8Z?f4Kf`{TFLbYaeSr>j3L;>p1HK>m=(G z>rd9{)`iwwYo0aVinOAwIBStrYV})}TUS}vSl3&Bv2L+$x9+qawVtX0yd@Dcfq>R@+hA30s@3-FCxv+xEcr*!Il!-1f=d%bsZ; zZ=YnJYM*YOWuI%GXJ24nY|pjl*(r9KonbGtm)k4tJiE{?woC1DyV9<*2kcwyZT1fh zKQ`nwa2o0xRy7=KIN9(=!`X&&4ebs08Xh)0Y3OKp+3>pIv!koyJ4Y`^KgU4F5Xbk9 zEC<=acJLh{ht#2Ts2w_o!Qpg79m^eQN3&zC;}^#k$9Bgq$8N_nXJ6+$XRZ_FWID^8 zLZ`;*bb6c#=UV3mXNz;QbDMLgbGP%D^Q7~%^H1kF=SAlw=N0F3S6|mu7u+RqSzQ5F z)Rk~8bFFl(cCB-5aP4v(aUFM^a-DIty3V_9xjJ00UGH2UT%TND++Ez=+=Jbj?(yzP z?y2tS?wRhzZipM^Mz~RKf}7+naZ}xNx5>TSeaL;veb#;6-R8dRzU{u}e&~Me8R!|| z`O!1Vv%mxMAUr4!)>GsmdRU$cPo;(6&hch@=X)1+p~8&-3H`8h^mw z;=km-<-hH}>woEg<$vve>;KRHHP9u{Eif=JC@?rMG%zkOJ}@CLDUcP&4$KS84@d)s zfH7bS00DQv6YvInf%So%fn9-L1HT0>2JQsz2JQtO1l|PR2HpiagI$9?gMEVif`fxY zgTsO&f(wJRU|EnK6a}Ths-QXO3VMV7U?><3z72i~^$PV14Gawl4G)bBjR}nnO$p5k zAwtX$FJupSL%)QMgwBO7hAxNNLpMUVLLH$Op;w`|;VI#H;RWHv;oLAd3<)#CqOde9 z4_AjZVO`i3c7?rRe>f73g_GfB;oafm;nwhla9j9t_h&|$r_#>f6G?Iv5;8a)x~9_ts& zj7^TsjxCKrVz3w@hKb>0#8`1G5Zf0!7CRd|AG;R2AA1yg7w;AC8}A<<6dxKN7XL9m zIzBc&AwD_2B%T}3i$mkEI3kXUW8+0}QoJNy8n28S;-Pp;{9ycYyd&P3=#vw&ZWgeaVB#!^u<0Gs)KEg=Aaub832uk}6NJQ&lNVN}n>NYE$-< zGv!J7Qh`)FwKBD#X?N4!rlU<4n%bN0G`(p0*z~#SYr0#yN4j@9BRwKLDm^AWEQ(%b^BlUm;A5)KhvH62Zfhh1poj5 literal 0 HcmV?d00001 diff --git a/UniversalLinkSample/UniversalLinkSample.xcodeproj/xcshareddata/xcschemes/UniversalLinkSample.xcscheme b/UniversalLinkSample/UniversalLinkSample.xcodeproj/xcshareddata/xcschemes/UniversalLinkSample.xcscheme new file mode 100644 index 0000000..7ab43d7 --- /dev/null +++ b/UniversalLinkSample/UniversalLinkSample.xcodeproj/xcshareddata/xcschemes/UniversalLinkSample.xcscheme @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/UniversalLinkSample/UniversalLinkSample.xcodeproj/xcuserdata/lperret.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/UniversalLinkSample/UniversalLinkSample.xcodeproj/xcuserdata/lperret.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist new file mode 100644 index 0000000..79b07c4 --- /dev/null +++ b/UniversalLinkSample/UniversalLinkSample.xcodeproj/xcuserdata/lperret.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist @@ -0,0 +1,40 @@ + + + + + + + + + + + + + diff --git a/UniversalLinkSample/UniversalLinkSample.xcodeproj/xcuserdata/lperret.xcuserdatad/xcschemes/xcschememanagement.plist b/UniversalLinkSample/UniversalLinkSample.xcodeproj/xcuserdata/lperret.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..5b94408 --- /dev/null +++ b/UniversalLinkSample/UniversalLinkSample.xcodeproj/xcuserdata/lperret.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,22 @@ + + + + + SchemeUserState + + UniversalLinkSample.xcscheme_^#shared#^_ + + orderHint + 0 + + + SuppressBuildableAutocreation + + AFFBEFC52C59252300D55D77 + + primary + + + + + diff --git a/UniversalLinkSample/UniversalLinkSample/Assets.xcassets/AccentColor.colorset/Contents.json b/UniversalLinkSample/UniversalLinkSample/Assets.xcassets/AccentColor.colorset/Contents.json new file mode 100644 index 0000000..eb87897 --- /dev/null +++ b/UniversalLinkSample/UniversalLinkSample/Assets.xcassets/AccentColor.colorset/Contents.json @@ -0,0 +1,11 @@ +{ + "colors" : [ + { + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/UniversalLinkSample/UniversalLinkSample/Assets.xcassets/AppIcon.appiconset/Contents.json b/UniversalLinkSample/UniversalLinkSample/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..13613e3 --- /dev/null +++ b/UniversalLinkSample/UniversalLinkSample/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,13 @@ +{ + "images" : [ + { + "idiom" : "universal", + "platform" : "ios", + "size" : "1024x1024" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/UniversalLinkSample/UniversalLinkSample/Assets.xcassets/Contents.json b/UniversalLinkSample/UniversalLinkSample/Assets.xcassets/Contents.json new file mode 100644 index 0000000..73c0059 --- /dev/null +++ b/UniversalLinkSample/UniversalLinkSample/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/UniversalLinkSample/UniversalLinkSample/Model/Book+Mock.swift b/UniversalLinkSample/UniversalLinkSample/Model/Book+Mock.swift new file mode 100644 index 0000000..eeaf13c --- /dev/null +++ b/UniversalLinkSample/UniversalLinkSample/Model/Book+Mock.swift @@ -0,0 +1,22 @@ +// +// Book+Mock.swift +// UniversalLinkSample +// +// Created by Loris Perret on 30/07/2024. +// + +import Foundation + +extension Book { + enum Mock { + static var preview = Book(id: 0, title: "Lord of the ring", author: "J.R.R. Tolkien") + + static var previewList = [ + Book(id: 0, title: "Lord of the Rings", author: "J.R.R. Tolkien"), + Book(id: 1, title: "1984", author: "George Orwell"), + Book(id: 2, title: "To Kill a Mockingbird", author: "Harper Lee"), + Book(id: 3, title: "Pride and Prejudice", author: "Jane Austen"), + Book(id: 4, title: "The Great Gatsby", author: "F. Scott Fitzgerald") + ] + } +} diff --git a/UniversalLinkSample/UniversalLinkSample/Model/Book.swift b/UniversalLinkSample/UniversalLinkSample/Model/Book.swift new file mode 100644 index 0000000..7f91138 --- /dev/null +++ b/UniversalLinkSample/UniversalLinkSample/Model/Book.swift @@ -0,0 +1,14 @@ +// +// Book.swift +// UniversalLinkSample +// +// Created by Loris Perret on 30/07/2024. +// + +import Foundation + +struct Book: Identifiable, Hashable { + let id: Int + let title: String + let author: String +} diff --git a/UniversalLinkSample/UniversalLinkSample/Preview Content/Preview Assets.xcassets/Contents.json b/UniversalLinkSample/UniversalLinkSample/Preview Content/Preview Assets.xcassets/Contents.json new file mode 100644 index 0000000..73c0059 --- /dev/null +++ b/UniversalLinkSample/UniversalLinkSample/Preview Content/Preview Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/UniversalLinkSample/UniversalLinkSample/UniversalLinkSample.entitlements b/UniversalLinkSample/UniversalLinkSample/UniversalLinkSample.entitlements new file mode 100644 index 0000000..5b1b888 --- /dev/null +++ b/UniversalLinkSample/UniversalLinkSample/UniversalLinkSample.entitlements @@ -0,0 +1,10 @@ + + + + + com.apple.developer.associated-domains + + applinks:dev.openium.fr + + + diff --git a/UniversalLinkSample/UniversalLinkSample/UniversalLinkSampleApp.swift b/UniversalLinkSample/UniversalLinkSample/UniversalLinkSampleApp.swift new file mode 100644 index 0000000..1421b54 --- /dev/null +++ b/UniversalLinkSample/UniversalLinkSample/UniversalLinkSampleApp.swift @@ -0,0 +1,17 @@ +// +// UniversalLinkSampleApp.swift +// UniversalLinkSample +// +// Created by Loris Perret on 30/07/2024. +// + +import SwiftUI + +@main +struct UniversalLinkSampleApp: App { + var body: some Scene { + WindowGroup { + BookListView(books: Book.Mock.previewList) + } + } +} diff --git a/UniversalLinkSample/UniversalLinkSample/Views/BookListView.swift b/UniversalLinkSample/UniversalLinkSample/Views/BookListView.swift new file mode 100644 index 0000000..11ff7d0 --- /dev/null +++ b/UniversalLinkSample/UniversalLinkSample/Views/BookListView.swift @@ -0,0 +1,50 @@ +// +// BookListView.swift +// UniversalLinkSample +// +// Created by Loris Perret on 30/07/2024. +// + +import SwiftUI + +struct BookListView: View { + + // MARK: - Properties + + let books: [Book] + @State private var path = [Book]() + + // MARK: - Body + + var body: some View { + NavigationStack(path: $path) { + List { + ForEach(books) { book in + NavigationLink { + BookView(book: book) + } label: { + VStack(alignment: .leading) { + Text("\(book.title)") + Text("- \(book.author)") + } + } + } + } + .padding(.top, 20) + .scrollContentBackground(.hidden) + .navigationTitle("Book List") + .background(.black.opacity(0.05)) + .navigationDestination(for: Book.self) { BookView(book: $0) } + .onOpenURL(perform: { url in + if let id = Int(url.lastPathComponent), + let book = books.first(where: { $0.id == id }) { + path.append(book) + } + }) + } + } +} + +#Preview { + BookListView(books: Book.Mock.previewList) +} diff --git a/UniversalLinkSample/UniversalLinkSample/Views/BookView.swift b/UniversalLinkSample/UniversalLinkSample/Views/BookView.swift new file mode 100644 index 0000000..a2a595f --- /dev/null +++ b/UniversalLinkSample/UniversalLinkSample/Views/BookView.swift @@ -0,0 +1,36 @@ +// +// BookView.swift +// UniversalLinkSample +// +// Created by Loris Perret on 30/07/2024. +// + +import SwiftUI + +struct BookView: View { + + // MARK: - Properties + + let book: Book + + // MARK: - Body + + var body: some View { + VStack { + Text(book.title) + .font(.largeTitle) + + Text(book.author) + .font(.title) + } + .padding(48) + .navigationTitle("Book") + .navigationBarTitleDisplayMode(.large) + .frame(maxWidth: .infinity, maxHeight: .infinity) + .background(.black.opacity(0.05)) + } +} + +#Preview { + BookView(book: Book.Mock.preview) +} diff --git a/UniversalLinkSample/UniversalLinkSample/apple-app-site-association b/UniversalLinkSample/UniversalLinkSample/apple-app-site-association new file mode 100644 index 0000000..26ebb4d --- /dev/null +++ b/UniversalLinkSample/UniversalLinkSample/apple-app-site-association @@ -0,0 +1,17 @@ +{ + "applinks": { + "apps": [], + "details": [ + { + "appIDs": [ + "QH6KR5PAQ7.fr.openium.UniversalLinkSample" + ], + "components": [ + { + "/": "/book/*" + } + ] + } + ] + } +} \ No newline at end of file