Compare commits
651 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| bca42b8011 | |||
| 794de3587a | |||
| 049b2f4dbd | |||
| 3958dc56bf | |||
| bf145ece96 | |||
| 74abf4aa76 | |||
| 501fb0d0bc | |||
| c4d965d2c0 | |||
| 898f027554 | |||
| be98d2d1cb | |||
| 8c7f89a5b9 | |||
| 75673fdecc | |||
| d18733fef4 | |||
| 5dcbf5b191 | |||
| 915134629f | |||
| 0c7ea5defd | |||
| 3fdde685bc | |||
| 0581fc848d | |||
| 9ba89d33f7 | |||
| 3aa49153e1 | |||
| 998d32df35 | |||
| bf31ebe9e6 | |||
| cb9d028f2a | |||
| ace36f8aa2 | |||
| d0669df745 | |||
| 7bedf36884 | |||
| 48f79c8e20 | |||
| b0db9a82c4 | |||
| 27d9ade6ea | |||
| 1ec0e9cf81 | |||
| 116ae6bb45 | |||
| 3139692a41 | |||
| deb72a4a7b | |||
| 25aed45cc8 | |||
| bf2f7fb663 | |||
| f0e2b694b0 | |||
| a570ddafc4 | |||
| 60983ca46c | |||
| 0a86894703 | |||
| e2d8b33d03 | |||
| d2842c9124 | |||
| 9c9771ef27 | |||
| d52dc41576 | |||
| 9a0d8e288d | |||
| 71ab8c0b52 | |||
| c9cde526db | |||
| f25d9697f2 | |||
| 4d90a04699 | |||
| df1a29bfa8 | |||
| bdd4ca3272 | |||
| dcd72533c8 | |||
| 3c410dd1ff | |||
| 29b8447b9c | |||
| 202d8895c6 | |||
| 2347f40e0f | |||
| b934604028 | |||
| 04747f8b3d | |||
| 80f66aa5e7 | |||
| 257ec88cbc | |||
| 27c21b2907 | |||
| 8782fbf288 | |||
| 8df5e8ca98 | |||
| c161ea4227 | |||
| d591e1a8e2 | |||
| e23fad1476 | |||
| 56fe3e6a87 | |||
| b74d8e890e | |||
| c954ef3806 | |||
| c63cf1840e | |||
| a90765f5f2 | |||
| 549fa28546 | |||
| 1f1d7ce8bd | |||
| 16e8622f52 | |||
| f851a0bde0 | |||
| ef9bd9679f | |||
| d34d348a6a | |||
| 364a0fad0b | |||
| d4166737ca | |||
| 643b58c62f | |||
| 8839e57987 | |||
| 7e02366094 | |||
| ec887003cc | |||
| 17ac00a076 | |||
| 96d3e9c424 | |||
| 4131642c82 | |||
| 7777e6dec8 | |||
| 2de9404fff | |||
| 07be9e2326 | |||
| 337d7c5c0d | |||
| 4f620828d8 | |||
| 60853bb7c3 | |||
| 2d0b0e0540 | |||
| 8919a10146 | |||
| 69fbbf6704 | |||
| 9097100c14 | |||
| 3383703d3e | |||
| d235a969bc | |||
| 48e100ed08 | |||
| 862c2003a7 | |||
| 9a019cb420 | |||
| 1afb2dce67 | |||
| 63f5e9ec5e | |||
| b508641808 | |||
| 503daa92d0 | |||
| bb26c1046d | |||
| 809662b2a8 | |||
| dc9257d448 | |||
| 2db1b9f52b | |||
| 3e2e49ea58 | |||
| b6b64697d5 | |||
| af1f2ba839 | |||
| ddd6a21502 | |||
| 2926f383dc | |||
| bcd2aa4020 | |||
| 93b904c8d8 | |||
| a7c3601fbd | |||
| 66c322e239 | |||
| 546b96ddb0 | |||
| c843711aa8 | |||
| 4fc565d856 | |||
| ea0d907fff | |||
| ec7d1e4aca | |||
| aec802ba2c | |||
| e1e6052966 | |||
| 93ed629c62 | |||
| 51291d888e | |||
| 0088039ee7 | |||
| e52e83e428 | |||
| 6424bb843b | |||
| 117d524029 | |||
| cd545e566d | |||
| e5ff0eb91b | |||
| 89f63d0f1f | |||
| 93dac913fa | |||
| 489a91eeda | |||
| 374a708c7c | |||
| 59a8240da6 | |||
| dffe0e2763 | |||
| bb8e454998 | |||
| 302e56caa4 | |||
| dbbb9e7b08 | |||
| 9365cb42e8 | |||
| 0f0686cc18 | |||
| 6d8aabcb35 | |||
| 5a5e8b1b12 | |||
| bc89f10b91 | |||
| 9f5c392d49 | |||
| 772efaa7ec | |||
| 95ac3cc577 | |||
| b8e4ad0fcc | |||
| 6cdb787c21 | |||
| e946b05a9a | |||
| 740d475fe8 | |||
| 1dc32f2e4d | |||
| 406eb5e62f | |||
| 0416fa6c6f | |||
| 7e1f4b6a33 | |||
| 1f794f62eb | |||
| b11d70c22d | |||
| ae9dd5f244 | |||
| 643c6d1727 | |||
| 18127ef046 | |||
| a29c736ef8 | |||
| 2171272be3 | |||
| fd6548f547 | |||
| 61e5236bd3 | |||
| 2546c7efd9 | |||
| c8c91f7783 | |||
| 33eb2ddbe8 | |||
| 3baf8db932 | |||
| 7f12067e3b | |||
| ca93b61a84 | |||
| f663584e42 | |||
| 4acabac2e3 | |||
| 4762896393 | |||
| d6f3e37d7b | |||
| ad8148d32e | |||
| 3de6e1398f | |||
| c2d44aa0e8 | |||
| 383e8f5131 | |||
| f3732cc105 | |||
| 316cb39f86 | |||
| ba3bd1b313 | |||
| 5c3b93fe4f | |||
| abf99ff2c3 | |||
| 5ec046ae8e | |||
| 874860e0f5 | |||
| 605f9d762e | |||
| b1b206c7ca | |||
| e9408d01f3 | |||
| c9028d2412 | |||
| 1a7424df44 | |||
| 73f3353a93 | |||
| 49c1136fa6 | |||
| d802c7c73c | |||
| ebdd2ff653 | |||
| 7e65c68e9f | |||
| 32843df5b6 | |||
| f6913b4db1 | |||
| f39a83aef6 | |||
| 7ea2306a8d | |||
| 14ec8907af | |||
| 57d5f406b1 | |||
| 782538a3fc | |||
| 00b84fa176 | |||
| 4b359365ac | |||
| 29f8ddc9cf | |||
| a6d9f95b1e | |||
| 5fb23d6df8 | |||
| a46e1bc21f | |||
| 15718b937d | |||
| 2703ca1601 | |||
| fbf05a09c2 | |||
| 7105c505c8 | |||
| 8bb8d79140 | |||
| 80fc1445c0 | |||
| 225de3cb29 | |||
| f6864fd49e | |||
| cc19e2277b | |||
| 4d8c0a7f18 | |||
| 89218d6043 | |||
| c46e739db0 | |||
| a578f8084b | |||
| 24e4fee6f5 | |||
| 2107d0d6a3 | |||
| e733e566c8 | |||
| a3d360c6a2 | |||
| ae19a541b3 | |||
| 5935c741ab | |||
| 6185a5e4f6 | |||
| cc02637cc5 | |||
| 9c91d4e776 | |||
| 011c76ede6 | |||
| de4938c0bb | |||
| 9d59d0bbee | |||
| 3e64c75ebc | |||
| fa6b939fa7 | |||
| 354346840f | |||
| 8c9aacb712 | |||
| 66ecfd19fb | |||
| ae6aabb87e | |||
| 7a2b1ec8d7 | |||
| 2960142018 | |||
| 2dbe3e42d0 | |||
| 323efb5ffd | |||
| fdff68e528 | |||
| 0b43a40bc6 | |||
| c6311feb43 | |||
| fbb5141587 | |||
| 3bc170a91d | |||
| 93c6958242 | |||
| 2fbcbae6a2 | |||
| 2a2f1598e8 | |||
| dec9671f70 | |||
| a1302e953a | |||
| 82cbc6f6b0 | |||
| f303b71e94 | |||
| 690dd7614b | |||
| 9204c36a37 | |||
| 1db6c6d77c | |||
| 4790013427 | |||
| 1fdda7fb51 | |||
| 5b2fb4a8e8 | |||
| 4624d82d9a | |||
| dc5fe5a3a7 | |||
| 33b2f61d61 | |||
| f089d2a035 | |||
| 68b3c7480d | |||
| cada260e74 | |||
| 019cae8314 | |||
| 951568b2c5 | |||
| f2361de0b6 | |||
| bafe0e3d14 | |||
| 1e276402b9 | |||
| 200c7393d6 | |||
| 789127c0e6 | |||
| 7214621068 | |||
| 66dfd14a98 | |||
| 4f54a2fa62 | |||
| 7391373de1 | |||
| ebd0f7d473 | |||
| ee53addbac | |||
| 8ad3217f8e | |||
| 7a13716d15 | |||
| 0647d46889 | |||
| 85d6948184 | |||
| 0690b7fdf4 | |||
| 8cd77c6565 | |||
| eb5b08346b | |||
| 5094d45f8c | |||
| b039d5dd86 | |||
| 184bf5e9fb | |||
| c2989e2530 | |||
| 40084a69cd | |||
| 4bf4207e14 | |||
| a440364a9d | |||
| e208675d59 | |||
| 794daa144d | |||
| 43b1ff26eb | |||
| 343653cad7 | |||
| f55d80a7b1 | |||
| be79544453 | |||
| bfe2bd7e72 | |||
| bea8cd649d | |||
| 427b24d066 | |||
| 2fa6932545 | |||
| 58eea2077c | |||
| 9d3fa3ac39 | |||
| bec47eff43 | |||
| f487a8fa17 | |||
| 1efc22a47d | |||
| 22dc7954c8 | |||
| 8aba5989c8 | |||
| 8c0678b52c | |||
| bfa86eff5b | |||
| 36a14f4644 | |||
| f3d2d9c63c | |||
| 1c0dc2e519 | |||
| 6884364369 | |||
| 9e110dfe78 | |||
| 7afbf66cd3 | |||
| bce190f0f3 | |||
| ceb113ed3d | |||
| 9d22e42d31 | |||
| 3ee00aa2e7 | |||
| b3c1864352 | |||
| 252d75257e | |||
| d8037ba621 | |||
| 083c55f2d7 | |||
| 3c7c146ebf | |||
| 5e99b1b7ba | |||
| 6afd859c27 | |||
| 4b5966376f | |||
| e10a8efdfb | |||
| 96df2843df | |||
| 5f9fbd6540 | |||
| c7c95f4015 | |||
| 7c165f0740 | |||
| 78de340a1a | |||
| 701f0b3ba5 | |||
| b926ea64d8 | |||
| 5c4f8a60f0 | |||
| 77828226b2 | |||
| b1564fd8d6 | |||
| f0c6d4dadb | |||
| 501abeaaf3 | |||
| e73ea408b3 | |||
| 1a541aedcd | |||
| 1f70b49ff6 | |||
| 81851db6a6 | |||
| ac7a7a8c5e | |||
| 61addd2405 | |||
| cca92d1156 | |||
| 5603383161 | |||
| fceb09cc8b | |||
| dc534dcb31 | |||
| ab71afed92 | |||
| a9f8fe88eb | |||
| 5612808fb1 | |||
| fe388ef956 | |||
| f6689c1c26 | |||
| 69c58ea278 | |||
| 6033a0b1ad | |||
| 3ac3f787eb | |||
| f75901d9b0 | |||
| fddc5dbcdf | |||
| 28c44be413 | |||
| c938b0f0f7 | |||
| 23023d7983 | |||
| f316d247ae | |||
| f4aaad3906 | |||
| 2f44900d0d | |||
| fc1903ff44 | |||
| 2216078a1a | |||
| cb56321f40 | |||
| d9886df3ad | |||
| 7e0bda2f85 | |||
| b8ef4c4e58 | |||
| 2716a01b99 | |||
| e368a8c243 | |||
| 59682eb65e | |||
| 7ed09decad | |||
| 4b403a7d2a | |||
| 0a15804a71 | |||
| 8eb3e881b9 | |||
| 4ad3584fee | |||
| 4f8b21759a | |||
| 83630b6198 | |||
| bd24a291d1 | |||
| 8e56d3e347 | |||
| 5fb0921dab | |||
| f0601bd900 | |||
| 194c82c86b | |||
| 516554f1f9 | |||
| 06fdc08431 | |||
| 9cfed6bc39 | |||
| 4194dcf10a | |||
| 2d3561081b | |||
| 8800353105 | |||
| 5918829642 | |||
| 69b4f27895 | |||
| c13d794975 | |||
| 913d8f37e5 | |||
| 130d31288e | |||
| 307ca57a4c | |||
| d775e8d985 | |||
| 7ffa6696c9 | |||
| 0fffff8031 | |||
| 322af011f6 | |||
| e879be1d22 | |||
| 65ecd91445 | |||
| da3d84ea0c | |||
| 1f1aa50bb4 | |||
| 7c90731626 | |||
| bb4a35b008 | |||
| c56e789aec | |||
| c8e51ec1ef | |||
| a5d34f1aac | |||
| 8e0aed0409 | |||
| 7c8ef3d5f1 | |||
| b157ecb0ac | |||
| fdd147f3c2 | |||
| fa5cc8e4ec | |||
| 2894a431bd | |||
| 61e8f0ad13 | |||
| ed4f0d0ec1 | |||
| 5c879487e2 | |||
| d4581b29f3 | |||
| 90c1ffc412 | |||
| fc51985417 | |||
| e7b749355c | |||
| fd37963b08 | |||
| c7b897895d | |||
| a50f7a36a4 | |||
| 355651dd21 | |||
| 6beae8260e | |||
| b68750e3a0 | |||
| febda3cb4b | |||
| 21020cdc4e | |||
| 5565c64f89 | |||
| 3e095ae0b9 | |||
| b0f1f66148 | |||
| 1761e41355 | |||
| 83c7ce6aae | |||
| a25be7e1e8 | |||
| 2f11106a92 | |||
| 64a3f8ac8b | |||
| 6c4bd53249 | |||
| d3c6f30b00 | |||
| 8a84e57ede | |||
| 427a8ababa | |||
| c45743cc20 | |||
| e726947f61 | |||
| c84bea7b7b | |||
| c24d6e7fcd | |||
| f53fbdc0af | |||
| aa9ecd55da | |||
| 980ca2a73f | |||
| 7f1f919937 | |||
| 7d8d0ddba4 | |||
| a082c2f63d | |||
| 19f91d283b | |||
| 50f23054b1 | |||
| ed8f872664 | |||
| 2065aa5c0b | |||
| bd3fee3df5 | |||
| ffaa27fb9d | |||
| 2cdf32f1ae | |||
| bc1d7f9016 | |||
| 74ad80820f | |||
| 901d5c44d2 | |||
| c05664b882 | |||
| 5ac34dd973 | |||
| 4eda67f5d9 | |||
| 4236564c5a | |||
| 973aa1b268 | |||
| ff3f08ec33 | |||
| f3dd4fd0bc | |||
| 09284ec788 | |||
| 283cd62ae1 | |||
| 70614d424f | |||
| a6d89f16d3 | |||
| d7ba79de74 | |||
| e22fcf318d | |||
| c49b6cbcf7 | |||
| 1204df15e7 | |||
| 30814ccfa5 | |||
| 98c85444eb | |||
| 48a98d393e | |||
| b9ce4bfdcc | |||
| 0c579a9010 | |||
| 7dffd6ce5b | |||
| 271252c192 | |||
| 0151c89961 | |||
| f051f095cc | |||
| 30d1919373 | |||
| 197fa72df2 | |||
| b5fac1cddf | |||
| 696108763e | |||
| 3a00e68d24 | |||
| f1a30d2784 | |||
| 255de853ee | |||
| dd23be89a7 | |||
| d238203406 | |||
| 7a43c05c46 | |||
| 46cdd1bf7f | |||
| cb9db00187 | |||
| 1543526647 | |||
| 0b40a0629b | |||
| 4b9eb5d95f | |||
| a02e54573e | |||
| 716925f14d | |||
| a6059f380d | |||
| 43771afb35 | |||
| fa29deb418 | |||
| a65593d3a0 | |||
| d4238ec4f1 | |||
| 98833ab73c | |||
| b5f5827a9e | |||
| 34e95db3bc | |||
| 4b96571371 | |||
| d6533e6992 | |||
| 93fff466fe | |||
| f8f1136bec | |||
| d8e7c5139d | |||
| 262aea3514 | |||
| 30f7fb60fa | |||
| c0548d0dfd | |||
| 06d5bf88b9 | |||
| 0ed184fc29 | |||
| 7279a44eee | |||
| 5b42b0fc86 | |||
| 1d94c3b644 | |||
| 1f0dbc5638 | |||
| 02f1e96f66 | |||
| 455b692e8e | |||
| 745ce2e13f | |||
| 6bba10e7ec | |||
| d1d331a77a | |||
| c01faa7a9a | |||
| 47234d832d | |||
| f340a05580 | |||
| e9644ed1f5 | |||
| 1e8c78dcbc | |||
| a16758efe5 | |||
| 51284b1268 | |||
| 647f4f3b93 | |||
| 3d5c3cc993 | |||
| 1321c0b8e3 | |||
| e55b47a509 | |||
| 1bf46c3ea6 | |||
| 4ba6e7f524 | |||
| 0c83edd0ca | |||
| dd0e474624 | |||
| 51b883d18a | |||
| 9b0d99b9bd | |||
| 7aa3f64d64 | |||
| aad2c4e9f8 | |||
| 4dedea8517 | |||
| 6b2d1fce69 | |||
| 4af17598a5 | |||
| caf39807f9 | |||
| 664ecad7d7 | |||
| 45b303c67b | |||
| f0bad8df77 | |||
| 99591c0b6a | |||
| 3795e20e80 | |||
| ee3799cbf4 | |||
| ecc2d11f6b | |||
| 967ff36dc1 | |||
| 6bb78c6124 | |||
| b8a2c72104 | |||
| 61613a3840 | |||
| 1735f1d466 | |||
| ec1ac76db8 | |||
| 9eeb180c54 | |||
| f2b9c1c5c5 | |||
| 4e87347256 | |||
| 2b463234fb | |||
| c2073c4e49 | |||
| a49c7bb16b | |||
| 5748959026 | |||
| 92b672781b | |||
| fce87415d2 | |||
| 4124b39eb6 | |||
| 2afc4dd6e2 | |||
| 49a531e7f7 | |||
| b65a713d61 | |||
| 08c16cdd5d | |||
| 2235e68fc0 | |||
| caa804b7f5 | |||
| 1f34a8b83d | |||
| bef5e79195 | |||
| 537d279044 | |||
| f4e551a9c2 | |||
| 5d72491221 | |||
| f5d0deb7f0 | |||
| e324cbaeb2 | |||
| 645a9dedbc | |||
| 1fd1cd9692 | |||
| fa1f7b7405 | |||
| 66b75a2ebf | |||
| c357ebbfdd | |||
| 88d5881046 | |||
| 94d67d3464 | |||
| 3e3e361d55 | |||
| 0a516ff898 | |||
| 304fde317c | |||
| 54b1714471 | |||
| ca75dc3dfd | |||
| 9a0af8570b | |||
| 019f4af26e | |||
| 97a4139b78 | |||
| f1b998db91 | |||
| 110ec60b2e | |||
| dc919da320 | |||
| bba629af75 | |||
| 62771b41d1 | |||
| f6b9d49648 | |||
| c1cd3c88ed | |||
| ad4c7aec08 | |||
| 1ea2644a29 | |||
| 0a305ebaea | |||
| 363bfd5aeb | |||
| bf5efa26e3 | |||
| bba11aec5a | |||
| 7202c64683 | |||
| 66ff32a9ab | |||
| 6597ffb9e2 | |||
| f40a7a54a4 | |||
| 8faeea2300 | |||
| 4aba246bfa | |||
| b1aeb8602c | |||
| a40421c705 | |||
| 766b92a9b4 | |||
| fc8935176a | |||
| 5eae2eabcd | |||
| 20478e1569 | |||
| 77101cc90e | |||
| eedc69dc53 | |||
| 8c07d2b061 | |||
| ec1079f9c0 | |||
| 29480c6b0c | |||
| d75d9b83b1 | |||
| 4e2be496b9 | |||
| 1d4cd3dc3d | |||
| bb43acfe96 | |||
| 6408e7f74d | |||
| 7068e58097 | |||
| 1574831012 | |||
| 3dec0a22f0 |
@@ -1 +0,0 @@
|
||||
*.pbxproj -crlf -diff -merge
|
||||
@@ -4,6 +4,8 @@ build/
|
||||
*.mode1v3
|
||||
*.mode2v3
|
||||
*.perspectivev3
|
||||
xcuserdata/
|
||||
*.xccheckout
|
||||
|
||||
# old skool
|
||||
.svn
|
||||
@@ -15,3 +17,12 @@ profile
|
||||
# vim noise
|
||||
*~
|
||||
*.swp
|
||||
|
||||
# AppCode noise
|
||||
.idea/
|
||||
|
||||
# Ruby
|
||||
.ruby-version
|
||||
|
||||
# Carthage
|
||||
Carthage/Build
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
language: objective-c
|
||||
osx_image: xcode11.2
|
||||
|
||||
before_install:
|
||||
- env
|
||||
- locale
|
||||
- xcpretty --version
|
||||
- xcodebuild -version
|
||||
- xcodebuild -showsdks
|
||||
|
||||
script:
|
||||
- set -o pipefail
|
||||
|
||||
- xcodebuild clean build -workspace MBProgressHUD.xcworkspace -scheme HudDemo -sdk iphonesimulator -configuration Debug | xcpretty -c
|
||||
- xcodebuild clean build -workspace MBProgressHUD.xcworkspace -scheme HudDemoTV -sdk appletvsimulator -configuration Debug | xcpretty -c
|
||||
- xcodebuild clean build test -workspace MBProgressHUD.xcworkspace -scheme HudTests -sdk iphonesimulator -destination "platform=iOS Simulator,name=iPad Air (3rd generation),OS=13.2.2" -configuration Debug GCC_INSTRUMENT_PROGRAM_FLOW_ARCS=YES GCC_GENERATE_TEST_COVERAGE_FILES=YES | xcpretty -c
|
||||
|
||||
after_success:
|
||||
- bash <(curl -s https://codecov.io/bash)
|
||||
@@ -0,0 +1,118 @@
|
||||
**Version 1.0.0** @ 14.07.16
|
||||
|
||||
- Requires ARC and iOS 6+.
|
||||
- Includes a new default design for iOS 7+.
|
||||
- Deprecates certain helpers and exposes some more flexible API.
|
||||
- Removes KVO observing of local properties.
|
||||
- Migrates layout code to Auto Layout.
|
||||
- Includes a rewritten demo app.
|
||||
- Includes a rewritten iOS example app.
|
||||
- Updates and extends documentation.
|
||||
- Adds a new button property (cancellation support).
|
||||
- Adds support for `NSProgress`
|
||||
- Adds a new customizable background view class.
|
||||
- Adds new assertions.
|
||||
- Adds basic unit tests.
|
||||
- Adds support for motion effects.
|
||||
- Adds nullability.
|
||||
- Adds basic interface builder support.
|
||||
- Adds tvOS support.
|
||||
- Adds a simple tvOS example app.
|
||||
- Improves behavior when showing and hiding in quick succession.
|
||||
- Improves support for `UIAppearance `.
|
||||
- Various smaller bug-fixes
|
||||
|
||||
**Version 0.9.2** @ 22.12.15
|
||||
|
||||
- Timer improvements
|
||||
- Additional assertions
|
||||
- Added a framework target
|
||||
- Tint progress tint color enhancements
|
||||
|
||||
**Version 0.9.1** @ 06.03.15
|
||||
|
||||
- Bug-fixes
|
||||
- Modernization
|
||||
|
||||
**Version 0.9** @ 12.08.14
|
||||
|
||||
- iOS 8 compatibility and some bug fixes.
|
||||
- Additional iOS 7 / iOS 8 styling enhancements.
|
||||
- Improved 64bit support.
|
||||
- Demo modernization.
|
||||
|
||||
**Version 0.8** @ 19.09.13
|
||||
|
||||
- iOS 7 compatibility and some bug fixes.
|
||||
|
||||
**Version 0.7** @ 25.06.13
|
||||
|
||||
- Added horizontal bar mode. ([jjxtra](https://github.com/jjxtra)).
|
||||
- CI integration.
|
||||
|
||||
**Version 0.6** @ 13.03.13
|
||||
|
||||
- Full cocoapods support.
|
||||
- Static library integration option.
|
||||
- Improved blocks support.
|
||||
- Bezel color.
|
||||
- Demo app fixes (iOS 6).
|
||||
- Various bug-fixes and enhancements.
|
||||
|
||||
**Version 0.5** @ 22.03.12
|
||||
|
||||
- Major source code modernization and cleanup (KVO, layout code, instance vars, etc.).
|
||||
- New annular determinate mode.
|
||||
- New text only mode.
|
||||
- Added a static library project and Xcode 4 workspace.
|
||||
- Added methods to find and return HUD(s) on a view.
|
||||
- Various bug fixes.
|
||||
- Various demo project enhancements (hi-res rescues, new samples).
|
||||
|
||||
IMPORTANT: Requires LLVM 3+.
|
||||
|
||||
**Version 0.41** @ 03.01.12
|
||||
|
||||
- Support for ARC.
|
||||
|
||||
**Version 0.4** @ 25.07.10
|
||||
|
||||
- Different animation modes. Default set to zoom.
|
||||
- Class convenience methods ([tadelv](http://github.com/tadelv)).
|
||||
- Autorotation when added to a UIWindow ([wuf810](http://github.com/wuf810)).
|
||||
- Extended demo app.
|
||||
- Several smaller fixes.
|
||||
|
||||
**Version 0.33** @ 27.03.10
|
||||
|
||||
- Custom view operation mode added.
|
||||
- Fixed a memory leak.
|
||||
|
||||
**Version 0.32** @ 4.01.10
|
||||
|
||||
- Added minShowTime, graceTime, xOffset, yOffset.
|
||||
- Various fixes.
|
||||
|
||||
**Version 0.31** @ 8.10.09
|
||||
|
||||
- Fix for touch through during the fade-out animation.
|
||||
|
||||
**Version 0.3** @ 30.9.09
|
||||
|
||||
- Added show: and hide: methods.
|
||||
- Now using UIViews layoutSubviews to automate layout calls.
|
||||
- Added some floors to round pixel positions and thereby prevent unsharp views.
|
||||
- Some additional documentation and code cleanup.
|
||||
|
||||
**Version 0.2** @ 21.7.09
|
||||
|
||||
- Added determinate progress mode and switching capabilities between determinate and indeterminate modes.
|
||||
- Various bug-fixes.
|
||||
|
||||
**Version 0.11** @ 2.6.09.
|
||||
|
||||
- Updated labelText and detailsLabelText properties to support text modifications while the HUD is being shown.
|
||||
|
||||
**Version 0.1** @ 2.4.09
|
||||
|
||||
- Initial release.
|
||||
@@ -0,0 +1,64 @@
|
||||
Please take a moment to review this document in order to make the contribution
|
||||
process easy and effective for everyone involved.
|
||||
|
||||
|
||||
# Using the issue tracker
|
||||
|
||||
The issue tracker is the preferred channel for [bug reports](#bugs) and
|
||||
[features requests](#features), but please respect the following restriction:
|
||||
|
||||
* Please **do not** use the issue tracker for personal support requests (use
|
||||
a service like [Stack Overflow](http://stackoverflow.com) instead).
|
||||
|
||||
<a name="bugs"></a>
|
||||
## Bug reports
|
||||
|
||||
A bug is a _demonstrable problem_ that is caused by the code in the repository.
|
||||
Good bug reports are extremely helpful - thank you!
|
||||
|
||||
Guidelines for bug reports:
|
||||
|
||||
1. **Use the GitHub issue search** — check if the issue has already been
|
||||
reported.
|
||||
|
||||
2. **Check if the issue has been fixed** — try to reproduce it using the
|
||||
latest `master` branch in the repository.
|
||||
|
||||
3. **Isolate the problem** — provide exact reproduction steps, preferably
|
||||
in the form of a failing test case or by providing modification steps in the
|
||||
`MBProgressHUD` Demo application.
|
||||
|
||||
A good bug report shouldn't leave others needing to chase you up for more
|
||||
information. Please try to be as detailed as possible in your report. What is
|
||||
your environment? What steps will reproduce the issue? What iOS version did
|
||||
you use? What would you expect to be the outcome?
|
||||
|
||||
|
||||
<a name="features"></a>
|
||||
## Feature requests
|
||||
|
||||
Feature requests are welcome. But take a moment to find out whether your idea
|
||||
fits with the scope and aims of the project. It's up to *you* to make a strong
|
||||
case to convince the project's developers of the merits of this feature. Please
|
||||
provide as much detail and context as possible.
|
||||
|
||||
<a name="pull-requests"></a>
|
||||
|
||||
# Pull requests
|
||||
|
||||
Good pull requests - patches, improvements, new features - are a fantastic
|
||||
help. They should remain focused in scope and avoid containing unrelated
|
||||
commits.
|
||||
|
||||
**Please ask first** before embarking on any significant pull request (e.g.
|
||||
implementing features, refactoring code, porting to a different language),
|
||||
otherwise you risk spending a lot of time working on something that the
|
||||
project's developers might not want to merge into the project.
|
||||
|
||||
Please adhere to the coding conventions used throughout a project (indentation,
|
||||
accurate comments, etc.) and any other requirements (such as test coverage).
|
||||
|
||||
**IMPORTANT**: By submitting a patch, you agree to allow the project owner to
|
||||
license your work under the same license as that used by the project.
|
||||
|
||||
This document is based on https://github.com/necolas/issue-guidelines/blob/master/CONTRIBUTING.md.
|
||||
@@ -1,22 +0,0 @@
|
||||
//
|
||||
// HudDemoAppDelegate.h
|
||||
// HudDemo
|
||||
//
|
||||
// Created by Matej Bukovinski on 2.4.09.
|
||||
// Copyright bukovinski.com 2009. All rights reserved.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
@class HudDemoViewController;
|
||||
|
||||
@interface HudDemoAppDelegate : NSObject <UIApplicationDelegate> {
|
||||
UIWindow *window;
|
||||
HudDemoViewController *viewController;
|
||||
}
|
||||
|
||||
@property (nonatomic, retain) IBOutlet UIWindow *window;
|
||||
@property (nonatomic, retain) IBOutlet HudDemoViewController *viewController;
|
||||
|
||||
@end
|
||||
|
||||
@@ -1,33 +0,0 @@
|
||||
//
|
||||
// HudDemoAppDelegate.m
|
||||
// HudDemo
|
||||
//
|
||||
// Created by Matej Bukovinski on 2.4.09.
|
||||
// Copyright bukovinski.com 2009. All rights reserved.
|
||||
//
|
||||
|
||||
#import "HudDemoAppDelegate.h"
|
||||
#import "HudDemoViewController.h"
|
||||
|
||||
@implementation HudDemoAppDelegate
|
||||
|
||||
@synthesize window;
|
||||
@synthesize viewController;
|
||||
|
||||
|
||||
- (void)applicationDidFinishLaunching:(UIApplication *)application {
|
||||
|
||||
// Override point for customization after app launch
|
||||
[window addSubview:viewController.view];
|
||||
[window makeKeyAndVisible];
|
||||
}
|
||||
|
||||
|
||||
- (void)dealloc {
|
||||
[viewController release];
|
||||
[window release];
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
|
||||
@end
|
||||
@@ -1,27 +0,0 @@
|
||||
//
|
||||
// HudDemoViewController.h
|
||||
// HudDemo
|
||||
//
|
||||
// Created by Matej Bukovinski on 30.9.09.
|
||||
// Copyright bukovinski.com 2009. All rights reserved.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
#import "MBProgressHUD.h"
|
||||
|
||||
@interface HudDemoViewController : UIViewController <MBProgressHUDDelegate> {
|
||||
MBProgressHUD *HUD;
|
||||
}
|
||||
|
||||
- (IBAction)showSimple:(id)sender;
|
||||
- (IBAction)showWithLabel:(id)sender;
|
||||
- (IBAction)showWithDetailsLabel:(id)sender;
|
||||
- (IBAction)showWithLabelDeterminate:(id)sender;
|
||||
- (IBAction)showWithLabelMixed:(id)sender;
|
||||
|
||||
- (void)myTask;
|
||||
- (void)myProgressTask;
|
||||
- (void)myMixedTask;
|
||||
|
||||
@end
|
||||
|
||||
@@ -1,178 +0,0 @@
|
||||
//
|
||||
// HudDemoViewController.m
|
||||
// HudDemo
|
||||
//
|
||||
// Created by Matej Bukovinski on 30.9.09.
|
||||
// Copyright bukovinski.com 2009. All rights reserved.
|
||||
//
|
||||
|
||||
#import "HudDemoViewController.h"
|
||||
|
||||
@implementation HudDemoViewController
|
||||
|
||||
#pragma mark -
|
||||
#pragma mark Lifecycle methods
|
||||
|
||||
- (void)didReceiveMemoryWarning {
|
||||
[super didReceiveMemoryWarning]; // Releases the view if it doesn't have a superview
|
||||
// Release anything that's not essential, such as cached data
|
||||
}
|
||||
|
||||
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
|
||||
// No autoroation support for the HUD since we aren't using a ViewController but rather adding
|
||||
// the HUD view as a direct subview of the window.
|
||||
// You need to explicitly transform the HUD if you need a rotated version (i.g.,
|
||||
// self.transform = CGAffineTransformMakeRotation(PI / 2); )
|
||||
return NO;
|
||||
}
|
||||
|
||||
- (void)dealloc {
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
#pragma mark -
|
||||
#pragma mark IBActions
|
||||
|
||||
- (IBAction)showSimple:(id)sender {
|
||||
// Should be initialized with the windows frame so the HUD disables all user input by covering the entire screen
|
||||
UIWindow *window = [UIApplication sharedApplication].keyWindow;
|
||||
HUD = [[MBProgressHUD alloc] initWithWindow:window];
|
||||
|
||||
//HUD.graceTime = 0.5;
|
||||
//HUD.minShowTime = 5.0;
|
||||
|
||||
// Add HUD to screen
|
||||
[window addSubview:HUD];
|
||||
|
||||
// Regisete for HUD callbacks so we can remove it from the window at the right time
|
||||
HUD.delegate = self;
|
||||
|
||||
// Show the HUD while the provided method executes in a new thread
|
||||
[HUD showWhileExecuting:@selector(myTask) onTarget:self withObject:nil animated:YES];
|
||||
}
|
||||
|
||||
- (IBAction)showWithLabel:(id)sender {
|
||||
// Should be initialized with the windows frame so the HUD disables all user input by covering the entire screen
|
||||
UIWindow *window = [UIApplication sharedApplication].keyWindow;
|
||||
HUD = [[MBProgressHUD alloc] initWithWindow:window];
|
||||
|
||||
// Add HUD to screen
|
||||
[window addSubview:HUD];
|
||||
|
||||
// Regisete for HUD callbacks so we can remove it from the window at the right time
|
||||
HUD.delegate = self;
|
||||
|
||||
HUD.labelText = @"Loading";
|
||||
|
||||
// Show the HUD while the provided method executes in a new thread
|
||||
[HUD showWhileExecuting:@selector(myTask) onTarget:self withObject:nil animated:YES];
|
||||
}
|
||||
|
||||
- (IBAction)showWithDetailsLabel:(id)sender {
|
||||
|
||||
// Should be initialized with the windows frame so the HUD disables all user input by covering the entire screen
|
||||
UIWindow *window = [UIApplication sharedApplication].keyWindow;
|
||||
HUD = [[MBProgressHUD alloc] initWithWindow:window];
|
||||
|
||||
// Add HUD to screen
|
||||
[window addSubview:HUD];
|
||||
|
||||
// Regisete for HUD callbacks so we can remove it from the window at the right time
|
||||
HUD.delegate = self;
|
||||
|
||||
HUD.labelText = @"Loading";
|
||||
HUD.detailsLabelText = @"updating data";
|
||||
|
||||
// Show the HUD while the provided method executes in a new thread
|
||||
[HUD showWhileExecuting:@selector(myTask) onTarget:self withObject:nil animated:YES];
|
||||
}
|
||||
|
||||
- (IBAction)showWithLabelDeterminate:(id)sender {
|
||||
|
||||
// Should be initialized with the windows frame so the HUD disables all user input by covering the entire screen
|
||||
UIWindow *window = [UIApplication sharedApplication].keyWindow;
|
||||
HUD = [[MBProgressHUD alloc] initWithWindow:window];
|
||||
|
||||
// Set determinate mode
|
||||
HUD.mode = MBProgressHUDModeDeterminate;
|
||||
|
||||
// Add HUD to screen
|
||||
[window addSubview:HUD];
|
||||
|
||||
// Regisete for HUD callbacks so we can remove it from the window at the right time
|
||||
HUD.delegate = self;
|
||||
|
||||
HUD.labelText = @"Loading";
|
||||
|
||||
// Show the HUD while the provided method executes in a new thread
|
||||
[HUD showWhileExecuting:@selector(myProgressTask) onTarget:self withObject:nil animated:YES];
|
||||
}
|
||||
|
||||
- (IBAction)showWithLabelMixed:(id)sender {
|
||||
|
||||
// Should be initialized with the windows frame so the HUD disables all user input by covering the entire screen
|
||||
UIWindow *window = [UIApplication sharedApplication].keyWindow;
|
||||
HUD = [[MBProgressHUD alloc] initWithWindow:[UIApplication sharedApplication].keyWindow];
|
||||
|
||||
// Add HUD to screen
|
||||
[window addSubview:HUD];
|
||||
|
||||
// Regisete for HUD callbacks so we can remove it from the window at the right time
|
||||
HUD.delegate = self;
|
||||
|
||||
HUD.labelText = @"Connecting";
|
||||
|
||||
// Show the HUD while the provided method executes in a new thread
|
||||
[HUD showWhileExecuting:@selector(myMixedTask) onTarget:self withObject:nil animated:YES];
|
||||
}
|
||||
|
||||
#pragma mark -
|
||||
#pragma mark Execution code
|
||||
|
||||
- (void)myTask {
|
||||
// Do something usefull in here instead of sleeping ...
|
||||
sleep(3);
|
||||
// Labels can be changed during the execution
|
||||
//HUD.detailsLabelText = @"Something";
|
||||
//sleep(3);
|
||||
}
|
||||
|
||||
- (void)myProgressTask {
|
||||
// This just increases the progress indicator in a loop
|
||||
float progress = 0.0f;
|
||||
while (progress < 1.0f) {
|
||||
progress += 0.01f;
|
||||
HUD.progress = progress;
|
||||
usleep(50000);
|
||||
}
|
||||
}
|
||||
|
||||
- (void)myMixedTask {
|
||||
// Indeterminate mode
|
||||
sleep(2);
|
||||
// Switch to determinate mode
|
||||
HUD.mode = MBProgressHUDModeDeterminate;
|
||||
HUD.labelText = @"Downloading";
|
||||
float progress = 0.0f;
|
||||
while (progress < 1.0f)
|
||||
{
|
||||
progress += 0.01f;
|
||||
HUD.progress = progress;
|
||||
usleep(50000);
|
||||
}
|
||||
// Back to indeterminate mode
|
||||
HUD.mode = MBProgressHUDModeIndeterminate;
|
||||
HUD.labelText = @"Cleaning up";
|
||||
sleep(2);
|
||||
}
|
||||
|
||||
#pragma mark -
|
||||
#pragma mark MBProgressHUDDelegate methods
|
||||
|
||||
- (void)hudWasHidden {
|
||||
// Remove HUD from screen when the HUD was hidded
|
||||
[HUD removeFromSuperview];
|
||||
[HUD release];
|
||||
}
|
||||
|
||||
@end
|
||||
@@ -3,37 +3,73 @@
|
||||
archiveVersion = 1;
|
||||
classes = {
|
||||
};
|
||||
objectVersion = 45;
|
||||
objectVersion = 46;
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
1D3623260D0F684500981E51 /* HudDemoAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D3623250D0F684500981E51 /* HudDemoAppDelegate.m */; };
|
||||
1D60589B0D05DD56006BFB54 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; };
|
||||
1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; };
|
||||
1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */; };
|
||||
288765A50DF7441C002DB57D /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 288765A40DF7441C002DB57D /* CoreGraphics.framework */; };
|
||||
2899E5220DE3E06400AC0155 /* HudDemoViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2899E5210DE3E06400AC0155 /* HudDemoViewController.xib */; };
|
||||
28AD733F0D9D9553002E5188 /* MainWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 28AD733E0D9D9553002E5188 /* MainWindow.xib */; };
|
||||
28D7ACF80DDB3853001CB0EB /* HudDemoViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 28D7ACF70DDB3853001CB0EB /* HudDemoViewController.m */; };
|
||||
5BE141EE1CD8C33D0023BC9E /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5BE141ED1CD8C33D0023BC9E /* QuartzCore.framework */; };
|
||||
D22F7D810F85241C00550BB3 /* MBProgressHUD.m in Sources */ = {isa = PBXBuildFile; fileRef = D22F7D800F85241C00550BB3 /* MBProgressHUD.m */; };
|
||||
D274948B1D3B74AA00ABEB66 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = D274948A1D3B74AA00ABEB66 /* Images.xcassets */; };
|
||||
D27F18451D3B5878009D7482 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = D27F18441D3B5878009D7482 /* main.m */; };
|
||||
D27F18481D3B5878009D7482 /* MBHudDemoTVAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = D27F18471D3B5878009D7482 /* MBHudDemoTVAppDelegate.m */; };
|
||||
D27F184B1D3B5878009D7482 /* MBHudDemoTVViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = D27F184A1D3B5878009D7482 /* MBHudDemoTVViewController.m */; };
|
||||
D27F184E1D3B5878009D7482 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = D27F184C1D3B5878009D7482 /* Main.storyboard */; };
|
||||
D27F18551D3B5AAF009D7482 /* MBProgressHUD.m in Sources */ = {isa = PBXBuildFile; fileRef = D22F7D800F85241C00550BB3 /* MBProgressHUD.m */; };
|
||||
D27F185A1D3B5DFF009D7482 /* MBHudDemoAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = D27F18581D3B5DFF009D7482 /* MBHudDemoAppDelegate.m */; };
|
||||
D27F185B1D3B5DFF009D7482 /* MBHudDemoViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = D27F18591D3B5DFF009D7482 /* MBHudDemoViewController.m */; };
|
||||
D27F185E1D3B5E0D009D7482 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = D27F185D1D3B5E0D009D7482 /* main.m */; };
|
||||
D27F18631D3B5E21009D7482 /* Launch.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = D27F185F1D3B5E21009D7482 /* Launch.storyboard */; };
|
||||
D27F18641D3B5E21009D7482 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = D27F18611D3B5E21009D7482 /* Main.storyboard */; };
|
||||
D286A76D1518CA9F00E13FB8 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D286A76C1518CA9F00E13FB8 /* CoreGraphics.framework */; };
|
||||
D2B174121C5E3A3D00021915 /* HudTests.m in Sources */ = {isa = PBXBuildFile; fileRef = D2B174111C5E3A3D00021915 /* HudTests.m */; };
|
||||
D2D75D5323A8193100485497 /* Launch.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = D2D75D5123A8193000485497 /* Launch.storyboard */; };
|
||||
D2EEB3811B55967200F59EC1 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = D2EEB3801B55967200F59EC1 /* Images.xcassets */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXContainerItemProxy section */
|
||||
D2B174141C5E3A3D00021915 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */;
|
||||
proxyType = 1;
|
||||
remoteGlobalIDString = 1D6058900D05DD3D006BFB54;
|
||||
remoteInfo = HudDemo;
|
||||
};
|
||||
/* End PBXContainerItemProxy section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
1D30AB110D05D00D00671497 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
|
||||
1D3623240D0F684500981E51 /* HudDemoAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HudDemoAppDelegate.h; sourceTree = "<group>"; };
|
||||
1D3623250D0F684500981E51 /* HudDemoAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HudDemoAppDelegate.m; sourceTree = "<group>"; };
|
||||
1D6058910D05DD3D006BFB54 /* HudDemo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = HudDemo.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
1DF5F4DF0D08C38300B7A737 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
|
||||
288765A40DF7441C002DB57D /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
|
||||
2899E5210DE3E06400AC0155 /* HudDemoViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = HudDemoViewController.xib; sourceTree = "<group>"; };
|
||||
28AD733E0D9D9553002E5188 /* MainWindow.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = MainWindow.xib; sourceTree = "<group>"; };
|
||||
28D7ACF60DDB3853001CB0EB /* HudDemoViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HudDemoViewController.h; sourceTree = "<group>"; };
|
||||
28D7ACF70DDB3853001CB0EB /* HudDemoViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HudDemoViewController.m; sourceTree = "<group>"; };
|
||||
29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
|
||||
32CA4F630368D1EE00C91783 /* HudDemo_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HudDemo_Prefix.pch; sourceTree = "<group>"; };
|
||||
8D1107310486CEB800E47090 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
5BE141ED1CD8C33D0023BC9E /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
|
||||
D22F7D7F0F85241C00550BB3 /* MBProgressHUD.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MBProgressHUD.h; path = ../MBProgressHUD.h; sourceTree = SOURCE_ROOT; };
|
||||
D22F7D800F85241C00550BB3 /* MBProgressHUD.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MBProgressHUD.m; path = ../../MBProgressHUD.m; sourceTree = "<group>"; };
|
||||
D22F7D800F85241C00550BB3 /* MBProgressHUD.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MBProgressHUD.m; path = ../MBProgressHUD.m; sourceTree = "<group>"; };
|
||||
D274948A1D3B74AA00ABEB66 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = "<group>"; };
|
||||
D27F18411D3B5878009D7482 /* HudDemoTV.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = HudDemoTV.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
D27F18441D3B5878009D7482 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
|
||||
D27F18461D3B5878009D7482 /* MBHudDemoTVAppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MBHudDemoTVAppDelegate.h; sourceTree = "<group>"; };
|
||||
D27F18471D3B5878009D7482 /* MBHudDemoTVAppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MBHudDemoTVAppDelegate.m; sourceTree = "<group>"; };
|
||||
D27F18491D3B5878009D7482 /* MBHudDemoTVViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MBHudDemoTVViewController.h; sourceTree = "<group>"; };
|
||||
D27F184A1D3B5878009D7482 /* MBHudDemoTVViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MBHudDemoTVViewController.m; sourceTree = "<group>"; };
|
||||
D27F184D1D3B5878009D7482 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
|
||||
D27F18511D3B5878009D7482 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
D27F18561D3B5DFF009D7482 /* MBHudDemoAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MBHudDemoAppDelegate.h; path = HudDemo/MBHudDemoAppDelegate.h; sourceTree = SOURCE_ROOT; };
|
||||
D27F18571D3B5DFF009D7482 /* MBHudDemoViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MBHudDemoViewController.h; path = HudDemo/MBHudDemoViewController.h; sourceTree = SOURCE_ROOT; };
|
||||
D27F18581D3B5DFF009D7482 /* MBHudDemoAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MBHudDemoAppDelegate.m; path = HudDemo/MBHudDemoAppDelegate.m; sourceTree = SOURCE_ROOT; };
|
||||
D27F18591D3B5DFF009D7482 /* MBHudDemoViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MBHudDemoViewController.m; path = HudDemo/MBHudDemoViewController.m; sourceTree = SOURCE_ROOT; };
|
||||
D27F185C1D3B5E0D009D7482 /* HudDemo_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HudDemo_Prefix.pch; path = HudDemo/HudDemo_Prefix.pch; sourceTree = "<group>"; };
|
||||
D27F185D1D3B5E0D009D7482 /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = HudDemo/main.m; sourceTree = "<group>"; };
|
||||
D27F18601D3B5E21009D7482 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = en; path = HudDemo/en.lproj/Launch.storyboard; sourceTree = "<group>"; };
|
||||
D27F18621D3B5E21009D7482 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = en; path = HudDemo/en.lproj/Main.storyboard; sourceTree = "<group>"; };
|
||||
D27F18651D3B5E2D009D7482 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = HudDemo/Info.plist; sourceTree = "<group>"; };
|
||||
D286A76C1518CA9F00E13FB8 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
|
||||
D2B1269B23CB8D9C00A01F4C /* HudDemo.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = HudDemo.entitlements; sourceTree = "<group>"; };
|
||||
D2B1740F1C5E3A3D00021915 /* HudTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = HudTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
D2B174111C5E3A3D00021915 /* HudTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = HudTests.m; sourceTree = "<group>"; };
|
||||
D2B174131C5E3A3D00021915 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
D2D75D5223A8193000485497 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Launch.storyboard; sourceTree = "<group>"; };
|
||||
D2EEB3801B55967200F59EC1 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = HudDemo/Images.xcassets; sourceTree = SOURCE_ROOT; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
@@ -41,32 +77,50 @@
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
5BE141EE1CD8C33D0023BC9E /* QuartzCore.framework in Frameworks */,
|
||||
D286A76D1518CA9F00E13FB8 /* CoreGraphics.framework in Frameworks */,
|
||||
1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */,
|
||||
1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */,
|
||||
288765A50DF7441C002DB57D /* CoreGraphics.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
D27F183E1D3B5878009D7482 /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
D2B1740C1C5E3A3D00021915 /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXFrameworksBuildPhase section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
080E96DDFE201D6D7F000001 /* Classes */ = {
|
||||
080E96DDFE201D6D7F000001 /* HudDemo */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
D22F7D7F0F85241C00550BB3 /* MBProgressHUD.h */,
|
||||
D22F7D800F85241C00550BB3 /* MBProgressHUD.m */,
|
||||
1D3623240D0F684500981E51 /* HudDemoAppDelegate.h */,
|
||||
1D3623250D0F684500981E51 /* HudDemoAppDelegate.m */,
|
||||
28D7ACF60DDB3853001CB0EB /* HudDemoViewController.h */,
|
||||
28D7ACF70DDB3853001CB0EB /* HudDemoViewController.m */,
|
||||
D2B1269B23CB8D9C00A01F4C /* HudDemo.entitlements */,
|
||||
D27F18561D3B5DFF009D7482 /* MBHudDemoAppDelegate.h */,
|
||||
D27F18571D3B5DFF009D7482 /* MBHudDemoViewController.h */,
|
||||
D27F18581D3B5DFF009D7482 /* MBHudDemoAppDelegate.m */,
|
||||
D27F18591D3B5DFF009D7482 /* MBHudDemoViewController.m */,
|
||||
29B97315FDCFA39411CA2CEA /* Other Sources */,
|
||||
29B97317FDCFA39411CA2CEA /* Resources */,
|
||||
);
|
||||
path = Classes;
|
||||
path = HudDemo;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
19C28FACFE9D520D11CA2CBB /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1D6058910D05DD3D006BFB54 /* HudDemo.app */,
|
||||
D2B1740F1C5E3A3D00021915 /* HudTests.xctest */,
|
||||
D27F18411D3B5878009D7482 /* HudDemoTV.app */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
@@ -74,9 +128,10 @@
|
||||
29B97314FDCFA39411CA2CEA /* CustomTemplate */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
080E96DDFE201D6D7F000001 /* Classes */,
|
||||
29B97315FDCFA39411CA2CEA /* Other Sources */,
|
||||
29B97317FDCFA39411CA2CEA /* Resources */,
|
||||
080E96DDFE201D6D7F000001 /* HudDemo */,
|
||||
D27F18421D3B5878009D7482 /* HudDemoTV */,
|
||||
D2B174101C5E3A3D00021915 /* HudTests */,
|
||||
D28CBB391A87A6B00052DCEC /* MBProgressHUD */,
|
||||
29B97323FDCFA39411CA2CEA /* Frameworks */,
|
||||
19C28FACFE9D520D11CA2CBB /* Products */,
|
||||
);
|
||||
@@ -86,32 +141,94 @@
|
||||
29B97315FDCFA39411CA2CEA /* Other Sources */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
32CA4F630368D1EE00C91783 /* HudDemo_Prefix.pch */,
|
||||
29B97316FDCFA39411CA2CEA /* main.m */,
|
||||
D27F185C1D3B5E0D009D7482 /* HudDemo_Prefix.pch */,
|
||||
D27F185D1D3B5E0D009D7482 /* main.m */,
|
||||
);
|
||||
name = "Other Sources";
|
||||
path = ..;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
29B97317FDCFA39411CA2CEA /* Resources */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
2899E5210DE3E06400AC0155 /* HudDemoViewController.xib */,
|
||||
28AD733E0D9D9553002E5188 /* MainWindow.xib */,
|
||||
8D1107310486CEB800E47090 /* Info.plist */,
|
||||
D27F18651D3B5E2D009D7482 /* Info.plist */,
|
||||
D277FDBF11FC880100304321 /* UI */,
|
||||
D2EEB3801B55967200F59EC1 /* Images.xcassets */,
|
||||
);
|
||||
name = Resources;
|
||||
path = ..;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
29B97323FDCFA39411CA2CEA /* Frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
5BE141ED1CD8C33D0023BC9E /* QuartzCore.framework */,
|
||||
D286A76C1518CA9F00E13FB8 /* CoreGraphics.framework */,
|
||||
1DF5F4DF0D08C38300B7A737 /* UIKit.framework */,
|
||||
1D30AB110D05D00D00671497 /* Foundation.framework */,
|
||||
288765A40DF7441C002DB57D /* CoreGraphics.framework */,
|
||||
);
|
||||
name = Frameworks;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
D277FDBF11FC880100304321 /* UI */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
D27F185F1D3B5E21009D7482 /* Launch.storyboard */,
|
||||
D27F18611D3B5E21009D7482 /* Main.storyboard */,
|
||||
);
|
||||
name = UI;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
D27F18421D3B5878009D7482 /* HudDemoTV */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
D27F18461D3B5878009D7482 /* MBHudDemoTVAppDelegate.h */,
|
||||
D27F18471D3B5878009D7482 /* MBHudDemoTVAppDelegate.m */,
|
||||
D27F18491D3B5878009D7482 /* MBHudDemoTVViewController.h */,
|
||||
D27F184A1D3B5878009D7482 /* MBHudDemoTVViewController.m */,
|
||||
D27F18431D3B5878009D7482 /* Other Sources */,
|
||||
D27F18671D3B5E43009D7482 /* Resources */,
|
||||
);
|
||||
path = HudDemoTV;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
D27F18431D3B5878009D7482 /* Other Sources */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
D27F18441D3B5878009D7482 /* main.m */,
|
||||
);
|
||||
name = "Other Sources";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
D27F18671D3B5E43009D7482 /* Resources */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
D2D75D5123A8193000485497 /* Launch.storyboard */,
|
||||
D27F184C1D3B5878009D7482 /* Main.storyboard */,
|
||||
D27F18511D3B5878009D7482 /* Info.plist */,
|
||||
D274948A1D3B74AA00ABEB66 /* Images.xcassets */,
|
||||
);
|
||||
name = Resources;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
D28CBB391A87A6B00052DCEC /* MBProgressHUD */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
D22F7D7F0F85241C00550BB3 /* MBProgressHUD.h */,
|
||||
D22F7D800F85241C00550BB3 /* MBProgressHUD.m */,
|
||||
);
|
||||
name = MBProgressHUD;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
D2B174101C5E3A3D00021915 /* HudTests */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
D2B174111C5E3A3D00021915 /* HudTests.m */,
|
||||
D2B174131C5E3A3D00021915 /* Info.plist */,
|
||||
);
|
||||
path = HudTests;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
@@ -132,19 +249,75 @@
|
||||
productReference = 1D6058910D05DD3D006BFB54 /* HudDemo.app */;
|
||||
productType = "com.apple.product-type.application";
|
||||
};
|
||||
D27F18401D3B5878009D7482 /* HudDemoTV */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = D27F18541D3B5878009D7482 /* Build configuration list for PBXNativeTarget "HudDemoTV" */;
|
||||
buildPhases = (
|
||||
D27F183D1D3B5878009D7482 /* Sources */,
|
||||
D27F183E1D3B5878009D7482 /* Frameworks */,
|
||||
D27F183F1D3B5878009D7482 /* Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = HudDemoTV;
|
||||
productName = HudDemoTV;
|
||||
productReference = D27F18411D3B5878009D7482 /* HudDemoTV.app */;
|
||||
productType = "com.apple.product-type.application";
|
||||
};
|
||||
D2B1740E1C5E3A3D00021915 /* HudTests */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = D2B174161C5E3A3D00021915 /* Build configuration list for PBXNativeTarget "HudTests" */;
|
||||
buildPhases = (
|
||||
D2B1740B1C5E3A3D00021915 /* Sources */,
|
||||
D2B1740C1C5E3A3D00021915 /* Frameworks */,
|
||||
D2B1740D1C5E3A3D00021915 /* Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
D2B174151C5E3A3D00021915 /* PBXTargetDependency */,
|
||||
);
|
||||
name = HudTests;
|
||||
productName = HudTests;
|
||||
productReference = D2B1740F1C5E3A3D00021915 /* HudTests.xctest */;
|
||||
productType = "com.apple.product-type.bundle.unit-test";
|
||||
};
|
||||
/* End PBXNativeTarget section */
|
||||
|
||||
/* Begin PBXProject section */
|
||||
29B97313FDCFA39411CA2CEA /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
CLASSPREFIX = MB;
|
||||
LastUpgradeCheck = 0930;
|
||||
ORGANIZATIONNAME = "Matej Bukovinski";
|
||||
TargetAttributes = {
|
||||
D27F18401D3B5878009D7482 = {
|
||||
CreatedOnToolsVersion = 7.3.1;
|
||||
};
|
||||
D2B1740E1C5E3A3D00021915 = {
|
||||
CreatedOnToolsVersion = 7.2;
|
||||
TestTargetID = 1D6058900D05DD3D006BFB54;
|
||||
};
|
||||
};
|
||||
};
|
||||
buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "HudDemo" */;
|
||||
compatibilityVersion = "Xcode 3.1";
|
||||
compatibilityVersion = "Xcode 3.2";
|
||||
developmentRegion = en;
|
||||
hasScannedForEncodings = 1;
|
||||
knownRegions = (
|
||||
en,
|
||||
Base,
|
||||
);
|
||||
mainGroup = 29B97314FDCFA39411CA2CEA /* CustomTemplate */;
|
||||
projectDirPath = "";
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
1D6058900D05DD3D006BFB54 /* HudDemo */,
|
||||
D27F18401D3B5878009D7482 /* HudDemoTV */,
|
||||
D2B1740E1C5E3A3D00021915 /* HudTests */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
@@ -154,8 +327,26 @@
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
28AD733F0D9D9553002E5188 /* MainWindow.xib in Resources */,
|
||||
2899E5220DE3E06400AC0155 /* HudDemoViewController.xib in Resources */,
|
||||
D27F18641D3B5E21009D7482 /* Main.storyboard in Resources */,
|
||||
D2EEB3811B55967200F59EC1 /* Images.xcassets in Resources */,
|
||||
D27F18631D3B5E21009D7482 /* Launch.storyboard in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
D27F183F1D3B5878009D7482 /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
D27F184E1D3B5878009D7482 /* Main.storyboard in Resources */,
|
||||
D274948B1D3B74AA00ABEB66 /* Images.xcassets in Resources */,
|
||||
D2D75D5323A8193100485497 /* Launch.storyboard in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
D2B1740D1C5E3A3D00021915 /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
@@ -166,27 +357,96 @@
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
1D60589B0D05DD56006BFB54 /* main.m in Sources */,
|
||||
1D3623260D0F684500981E51 /* HudDemoAppDelegate.m in Sources */,
|
||||
28D7ACF80DDB3853001CB0EB /* HudDemoViewController.m in Sources */,
|
||||
D27F185B1D3B5DFF009D7482 /* MBHudDemoViewController.m in Sources */,
|
||||
D22F7D810F85241C00550BB3 /* MBProgressHUD.m in Sources */,
|
||||
D27F185E1D3B5E0D009D7482 /* main.m in Sources */,
|
||||
D27F185A1D3B5DFF009D7482 /* MBHudDemoAppDelegate.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
D27F183D1D3B5878009D7482 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
D27F184B1D3B5878009D7482 /* MBHudDemoTVViewController.m in Sources */,
|
||||
D27F18481D3B5878009D7482 /* MBHudDemoTVAppDelegate.m in Sources */,
|
||||
D27F18451D3B5878009D7482 /* main.m in Sources */,
|
||||
D27F18551D3B5AAF009D7482 /* MBProgressHUD.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
D2B1740B1C5E3A3D00021915 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
D2B174121C5E3A3D00021915 /* HudTests.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXTargetDependency section */
|
||||
D2B174151C5E3A3D00021915 /* PBXTargetDependency */ = {
|
||||
isa = PBXTargetDependency;
|
||||
target = 1D6058900D05DD3D006BFB54 /* HudDemo */;
|
||||
targetProxy = D2B174141C5E3A3D00021915 /* PBXContainerItemProxy */;
|
||||
};
|
||||
/* End PBXTargetDependency section */
|
||||
|
||||
/* Begin PBXVariantGroup section */
|
||||
D27F184C1D3B5878009D7482 /* Main.storyboard */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
D27F184D1D3B5878009D7482 /* Base */,
|
||||
);
|
||||
name = Main.storyboard;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
D27F185F1D3B5E21009D7482 /* Launch.storyboard */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
D27F18601D3B5E21009D7482 /* en */,
|
||||
);
|
||||
name = Launch.storyboard;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
D27F18611D3B5E21009D7482 /* Main.storyboard */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
D27F18621D3B5E21009D7482 /* en */,
|
||||
);
|
||||
name = Main.storyboard;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
D2D75D5123A8193000485497 /* Launch.storyboard */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
D2D75D5223A8193000485497 /* Base */,
|
||||
);
|
||||
name = Launch.storyboard;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXVariantGroup section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
1D6058940D05DD3E006BFB54 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
CODE_SIGN_ENTITLEMENTS = HudDemo/HudDemo.entitlements;
|
||||
COPY_PHASE_STRIP = NO;
|
||||
DERIVE_MACCATALYST_PRODUCT_BUNDLE_IDENTIFIER = YES;
|
||||
GCC_DYNAMIC_NO_PIC = NO;
|
||||
GCC_OPTIMIZATION_LEVEL = 0;
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = HudDemo_Prefix.pch;
|
||||
INFOPLIST_FILE = Info.plist;
|
||||
GCC_PREFIX_HEADER = HudDemo/HudDemo_Prefix.pch;
|
||||
INFOPLIST_FILE = HudDemo/Info.plist;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "com.bukovinski.${PRODUCT_NAME:identifier}";
|
||||
PRODUCT_NAME = HudDemo;
|
||||
SUPPORTS_MACCATALYST = YES;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
@@ -194,38 +454,217 @@
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
CODE_SIGN_ENTITLEMENTS = HudDemo/HudDemo.entitlements;
|
||||
COPY_PHASE_STRIP = YES;
|
||||
DERIVE_MACCATALYST_PRODUCT_BUNDLE_IDENTIFIER = YES;
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = HudDemo_Prefix.pch;
|
||||
INFOPLIST_FILE = Info.plist;
|
||||
GCC_PREFIX_HEADER = HudDemo/HudDemo_Prefix.pch;
|
||||
INFOPLIST_FILE = HudDemo/Info.plist;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "com.bukovinski.${PRODUCT_NAME:identifier}";
|
||||
PRODUCT_NAME = HudDemo;
|
||||
SDKROOT = iphoneos;
|
||||
SUPPORTS_MACCATALYST = YES;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
C01FCF4F08A954540054247B /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = "$(ARCHS_STANDARD_32_BIT)";
|
||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
||||
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = 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_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
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_IMPLICIT_RETAIN_SELF = YES;
|
||||
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
||||
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;
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
ENABLE_TESTABILITY = YES;
|
||||
GCC_C_LANGUAGE_STANDARD = c99;
|
||||
GCC_NO_COMMON_BLOCKS = YES;
|
||||
GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
PREBINDING = NO;
|
||||
SDKROOT = iphoneos2.2;
|
||||
SDKROOT = iphoneos;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
C01FCF5008A954540054247B /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = "$(ARCHS_STANDARD_32_BIT)";
|
||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
||||
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = 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_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
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_IMPLICIT_RETAIN_SELF = YES;
|
||||
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
||||
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;
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
GCC_C_LANGUAGE_STANDARD = c99;
|
||||
GCC_NO_COMMON_BLOCKS = YES;
|
||||
GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
PREBINDING = NO;
|
||||
SDKROOT = iphoneos2.2;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
|
||||
SDKROOT = iphoneos;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
D27F18521D3B5878009D7482 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CLANG_ANALYZER_NONNULL = YES;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
CLANG_WARN_UNREACHABLE_CODE = YES_AGGRESSIVE;
|
||||
COPY_PHASE_STRIP = NO;
|
||||
DEBUG_INFORMATION_FORMAT = dwarf;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu99;
|
||||
GCC_DYNAMIC_NO_PIC = NO;
|
||||
GCC_OPTIMIZATION_LEVEL = 0;
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"DEBUG=1",
|
||||
"$(inherited)",
|
||||
);
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||
INFOPLIST_FILE = HudDemoTV/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
||||
MTL_ENABLE_DEBUG_INFO = YES;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.bukovinski.HudDemoTV;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SDKROOT = appletvos;
|
||||
TARGETED_DEVICE_FAMILY = 3;
|
||||
TVOS_DEPLOYMENT_TARGET = 9.0;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
D27F18531D3B5878009D7482 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CLANG_ANALYZER_NONNULL = YES;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
CLANG_WARN_UNREACHABLE_CODE = YES_AGGRESSIVE;
|
||||
COPY_PHASE_STRIP = NO;
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
ENABLE_NS_ASSERTIONS = NO;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu99;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||
INFOPLIST_FILE = HudDemoTV/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
||||
MTL_ENABLE_DEBUG_INFO = NO;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.bukovinski.HudDemoTV;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SDKROOT = appletvos;
|
||||
TARGETED_DEVICE_FAMILY = 3;
|
||||
TVOS_DEPLOYMENT_TARGET = 9.0;
|
||||
VALIDATE_PRODUCT = YES;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
D2B174171C5E3A3D00021915 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
BUNDLE_LOADER = "$(TEST_HOST)";
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
COPY_PHASE_STRIP = NO;
|
||||
DEBUG_INFORMATION_FORMAT = dwarf;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu99;
|
||||
GCC_DYNAMIC_NO_PIC = NO;
|
||||
GCC_OPTIMIZATION_LEVEL = 0;
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"DEBUG=1",
|
||||
"$(inherited)",
|
||||
);
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||
INFOPLIST_FILE = HudTests/Info.plist;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 9.2;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
|
||||
MTL_ENABLE_DEBUG_INFO = YES;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.bukovinski.HudTests;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/HudDemo.app/HudDemo";
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
D2B174181C5E3A3D00021915 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
BUNDLE_LOADER = "$(TEST_HOST)";
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
COPY_PHASE_STRIP = NO;
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
ENABLE_NS_ASSERTIONS = NO;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu99;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||
INFOPLIST_FILE = HudTests/Info.plist;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 9.2;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
|
||||
MTL_ENABLE_DEBUG_INFO = NO;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.bukovinski.HudTests;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/HudDemo.app/HudDemo";
|
||||
VALIDATE_PRODUCT = YES;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
@@ -250,6 +689,24 @@
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
D27F18541D3B5878009D7482 /* Build configuration list for PBXNativeTarget "HudDemoTV" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
D27F18521D3B5878009D7482 /* Debug */,
|
||||
D27F18531D3B5878009D7482 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
D2B174161C5E3A3D00021915 /* Build configuration list for PBXNativeTarget "HudTests" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
D2B174171C5E3A3D00021915 /* Debug */,
|
||||
D2B174181C5E3A3D00021915 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
rootObject = 29B97313FDCFA39411CA2CEA /* Project object */;
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Workspace>
|
||||
<FileRef
|
||||
location = "self:HudDemo.xcodeproj">
|
||||
</FileRef>
|
||||
</Workspace>
|
||||
@@ -0,0 +1,115 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "1120"
|
||||
version = "1.8">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "YES">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "1D6058900D05DD3D006BFB54"
|
||||
BuildableName = "HudDemo.app"
|
||||
BlueprintName = "HudDemo"
|
||||
ReferencedContainer = "container:HudDemo.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "NO"
|
||||
buildForArchiving = "NO"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "D2B1740E1C5E3A3D00021915"
|
||||
BuildableName = "HudTests.xctest"
|
||||
BlueprintName = "HudTests"
|
||||
ReferencedContainer = "container:HudDemo.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "1D6058900D05DD3D006BFB54"
|
||||
BuildableName = "HudDemo.app"
|
||||
BlueprintName = "HudDemo"
|
||||
ReferencedContainer = "container:HudDemo.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
<Testables>
|
||||
<TestableReference
|
||||
skipped = "NO">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "D2B1740E1C5E3A3D00021915"
|
||||
BuildableName = "HudTests.xctest"
|
||||
BlueprintName = "HudTests"
|
||||
ReferencedContainer = "container:HudDemo.xcodeproj">
|
||||
</BuildableReference>
|
||||
</TestableReference>
|
||||
</Testables>
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
displayScaleIsEnabled = "NO"
|
||||
displayScale = "1.00"
|
||||
launchStyle = "0"
|
||||
useCustomWorkingDirectory = "NO"
|
||||
ignoresPersistentStateOnLaunch = "NO"
|
||||
debugDocumentVersioning = "YES"
|
||||
debugServiceExtension = "internal"
|
||||
allowLocationSimulation = "YES">
|
||||
<BuildableProductRunnable
|
||||
runnableDebuggingMode = "0">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "1D6058900D05DD3D006BFB54"
|
||||
BuildableName = "HudDemo.app"
|
||||
BlueprintName = "HudDemo"
|
||||
ReferencedContainer = "container:HudDemo.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
displayScaleIsEnabled = "NO"
|
||||
displayScale = "1.00"
|
||||
buildConfiguration = "Release"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
savedToolIdentifier = ""
|
||||
useCustomWorkingDirectory = "NO"
|
||||
debugDocumentVersioning = "YES">
|
||||
<BuildableProductRunnable
|
||||
runnableDebuggingMode = "0">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "1D6058900D05DD3D006BFB54"
|
||||
BuildableName = "HudDemo.app"
|
||||
BlueprintName = "HudDemo"
|
||||
ReferencedContainer = "container:HudDemo.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
</ProfileAction>
|
||||
<AnalyzeAction
|
||||
buildConfiguration = "Debug">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Release"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
||||
@@ -0,0 +1,87 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "1120"
|
||||
version = "1.3">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "YES">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "D27F18401D3B5878009D7482"
|
||||
BuildableName = "HudDemoTV.app"
|
||||
BlueprintName = "HudDemoTV"
|
||||
ReferencedContainer = "container:HudDemo.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "D27F18401D3B5878009D7482"
|
||||
BuildableName = "HudDemoTV.app"
|
||||
BlueprintName = "HudDemoTV"
|
||||
ReferencedContainer = "container:HudDemo.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
<Testables>
|
||||
</Testables>
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
launchStyle = "0"
|
||||
useCustomWorkingDirectory = "NO"
|
||||
ignoresPersistentStateOnLaunch = "NO"
|
||||
debugDocumentVersioning = "YES"
|
||||
debugServiceExtension = "internal"
|
||||
allowLocationSimulation = "YES">
|
||||
<BuildableProductRunnable
|
||||
runnableDebuggingMode = "0">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "D27F18401D3B5878009D7482"
|
||||
BuildableName = "HudDemoTV.app"
|
||||
BlueprintName = "HudDemoTV"
|
||||
ReferencedContainer = "container:HudDemo.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
buildConfiguration = "Release"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
savedToolIdentifier = ""
|
||||
useCustomWorkingDirectory = "NO"
|
||||
debugDocumentVersioning = "YES">
|
||||
<BuildableProductRunnable
|
||||
runnableDebuggingMode = "0">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "D27F18401D3B5878009D7482"
|
||||
BuildableName = "HudDemoTV.app"
|
||||
BlueprintName = "HudDemoTV"
|
||||
ReferencedContainer = "container:HudDemo.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
</ProfileAction>
|
||||
<AnalyzeAction
|
||||
buildConfiguration = "Debug">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Release"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
||||
@@ -0,0 +1,80 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "1120"
|
||||
version = "1.3">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "YES">
|
||||
</BuildAction>
|
||||
<TestAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "1D6058900D05DD3D006BFB54"
|
||||
BuildableName = "HudDemo.app"
|
||||
BlueprintName = "HudDemo"
|
||||
ReferencedContainer = "container:HudDemo.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
<Testables>
|
||||
<TestableReference
|
||||
skipped = "NO">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "D2B1740E1C5E3A3D00021915"
|
||||
BuildableName = "HudTests.xctest"
|
||||
BlueprintName = "HudTests"
|
||||
ReferencedContainer = "container:HudDemo.xcodeproj">
|
||||
</BuildableReference>
|
||||
</TestableReference>
|
||||
</Testables>
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
launchStyle = "0"
|
||||
useCustomWorkingDirectory = "NO"
|
||||
ignoresPersistentStateOnLaunch = "NO"
|
||||
debugDocumentVersioning = "YES"
|
||||
debugServiceExtension = "internal"
|
||||
allowLocationSimulation = "YES">
|
||||
<BuildableProductRunnable
|
||||
runnableDebuggingMode = "0">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "1D6058900D05DD3D006BFB54"
|
||||
BuildableName = "HudDemo.app"
|
||||
BlueprintName = "HudDemo"
|
||||
ReferencedContainer = "container:HudDemo.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
buildConfiguration = "Release"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
savedToolIdentifier = ""
|
||||
useCustomWorkingDirectory = "NO"
|
||||
debugDocumentVersioning = "YES">
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "1D6058900D05DD3D006BFB54"
|
||||
BuildableName = "HudDemo.app"
|
||||
BlueprintName = "HudDemo"
|
||||
ReferencedContainer = "container:HudDemo.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
</ProfileAction>
|
||||
<AnalyzeAction
|
||||
buildConfiguration = "Debug">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Release"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
||||
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>com.apple.security.app-sandbox</key>
|
||||
<true/>
|
||||
<key>com.apple.security.network.client</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</plist>
|
||||
|
After Width: | Height: | Size: 31 KiB |
@@ -0,0 +1,158 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"size" : "20x20",
|
||||
"idiom" : "iphone",
|
||||
"filename" : "Icon-40.png",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"size" : "20x20",
|
||||
"idiom" : "iphone",
|
||||
"filename" : "Icon-60.png",
|
||||
"scale" : "3x"
|
||||
},
|
||||
{
|
||||
"size" : "29x29",
|
||||
"idiom" : "iphone",
|
||||
"filename" : "Icon-Small.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"size" : "29x29",
|
||||
"idiom" : "iphone",
|
||||
"filename" : "Icon-Small@2x.png",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"size" : "29x29",
|
||||
"idiom" : "iphone",
|
||||
"filename" : "Icon-Small@3x.png",
|
||||
"scale" : "3x"
|
||||
},
|
||||
{
|
||||
"size" : "40x40",
|
||||
"idiom" : "iphone",
|
||||
"filename" : "Icon-Small-40@2x.png",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"size" : "40x40",
|
||||
"idiom" : "iphone",
|
||||
"filename" : "Icon-Small-40@3x.png",
|
||||
"scale" : "3x"
|
||||
},
|
||||
{
|
||||
"size" : "57x57",
|
||||
"idiom" : "iphone",
|
||||
"filename" : "Icon.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"size" : "57x57",
|
||||
"idiom" : "iphone",
|
||||
"filename" : "Icon@2x.png",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"size" : "60x60",
|
||||
"idiom" : "iphone",
|
||||
"filename" : "Icon-60@2x.png",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"size" : "60x60",
|
||||
"idiom" : "iphone",
|
||||
"filename" : "Icon-60@3x.png",
|
||||
"scale" : "3x"
|
||||
},
|
||||
{
|
||||
"size" : "20x20",
|
||||
"idiom" : "ipad",
|
||||
"filename" : "Icon-20.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"size" : "20x20",
|
||||
"idiom" : "ipad",
|
||||
"filename" : "Icon-41.png",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"size" : "29x29",
|
||||
"idiom" : "ipad",
|
||||
"filename" : "Icon-Small-1.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"size" : "29x29",
|
||||
"idiom" : "ipad",
|
||||
"filename" : "Icon-Small@2x-1.png",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"size" : "40x40",
|
||||
"idiom" : "ipad",
|
||||
"filename" : "Icon-Small-40.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"size" : "40x40",
|
||||
"idiom" : "ipad",
|
||||
"filename" : "Icon-Small-40@2x-1.png",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"size" : "50x50",
|
||||
"idiom" : "ipad",
|
||||
"filename" : "Icon-Small-50.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"size" : "50x50",
|
||||
"idiom" : "ipad",
|
||||
"filename" : "Icon-Small-50@2x.png",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"size" : "72x72",
|
||||
"idiom" : "ipad",
|
||||
"filename" : "Icon-72.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"size" : "72x72",
|
||||
"idiom" : "ipad",
|
||||
"filename" : "Icon-72@2x.png",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"size" : "76x76",
|
||||
"idiom" : "ipad",
|
||||
"filename" : "Icon-76.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"size" : "76x76",
|
||||
"idiom" : "ipad",
|
||||
"filename" : "Icon-76@2x.png",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"size" : "83.5x83.5",
|
||||
"idiom" : "ipad",
|
||||
"filename" : "Icon-167.png",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"size" : "1024x1024",
|
||||
"idiom" : "ios-marketing",
|
||||
"filename" : "AppStore.png",
|
||||
"scale" : "1x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
||||
|
After Width: | Height: | Size: 460 KiB |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 1.7 KiB |
|
After Width: | Height: | Size: 1.7 KiB |
|
After Width: | Height: | Size: 2.4 KiB |
|
After Width: | Height: | Size: 32 KiB |
|
After Width: | Height: | Size: 33 KiB |
|
After Width: | Height: | Size: 30 KiB |
|
After Width: | Height: | Size: 33 KiB |
|
After Width: | Height: | Size: 31 KiB |
|
After Width: | Height: | Size: 33 KiB |
|
After Width: | Height: | Size: 28 KiB |
|
After Width: | Height: | Size: 29 KiB |
|
After Width: | Height: | Size: 31 KiB |
|
After Width: | Height: | Size: 31 KiB |
|
After Width: | Height: | Size: 458 KiB |
|
After Width: | Height: | Size: 29 KiB |
|
After Width: | Height: | Size: 32 KiB |
|
After Width: | Height: | Size: 28 KiB |
|
After Width: | Height: | Size: 30 KiB |
|
After Width: | Height: | Size: 30 KiB |
|
After Width: | Height: | Size: 456 KiB |
|
After Width: | Height: | Size: 30 KiB |
|
After Width: | Height: | Size: 32 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "Checkmark.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "Checkmark@2x.png",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "Checkmark@3x.png",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>English</string>
|
||||
<key>CFBundleDisplayName</key>
|
||||
<string>${PRODUCT_NAME}</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>${EXECUTABLE_NAME}</string>
|
||||
<key>CFBundleIcons</key>
|
||||
<dict/>
|
||||
<key>CFBundleIcons~ipad</key>
|
||||
<dict/>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>${PRODUCT_NAME}</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1.0</string>
|
||||
<key>LSRequiresIPhoneOS</key>
|
||||
<true/>
|
||||
<key>UILaunchStoryboardName</key>
|
||||
<string>Launch</string>
|
||||
<key>UIMainStoryboardFile</key>
|
||||
<string>Main</string>
|
||||
<key>UISupportedInterfaceOrientations</key>
|
||||
<array>
|
||||
<string>UIInterfaceOrientationPortrait</string>
|
||||
<string>UIInterfaceOrientationPortraitUpsideDown</string>
|
||||
<string>UIInterfaceOrientationLandscapeLeft</string>
|
||||
<string>UIInterfaceOrientationLandscapeRight</string>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
||||
@@ -0,0 +1,15 @@
|
||||
//
|
||||
// MBHudDemoAppDelegate.h
|
||||
// HudDemo
|
||||
//
|
||||
// Created by Matej Bukovinski on 2.4.09.
|
||||
// Copyright © 2009-2016 Matej Bukovinski. All rights reserved.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
@interface MBHudDemoAppDelegate : NSObject <UIApplicationDelegate>
|
||||
|
||||
@property (strong, nonatomic) UIWindow *window;
|
||||
|
||||
@end
|
||||
@@ -0,0 +1,20 @@
|
||||
//
|
||||
// MBHudDemoAppDelegate.m
|
||||
// HudDemo
|
||||
//
|
||||
// Created by Matej Bukovinski on 2.4.09.
|
||||
// Copyright © 2009-2016 Matej Bukovinski. All rights reserved.
|
||||
//
|
||||
|
||||
#import "MBHudDemoAppDelegate.h"
|
||||
#import "MBHudDemoViewController.h"
|
||||
|
||||
|
||||
@implementation MBHudDemoAppDelegate
|
||||
|
||||
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
|
||||
self.window.tintColor = [UIColor colorWithRed:.337f green:.57f blue:.731f alpha:1.f];
|
||||
return YES;
|
||||
}
|
||||
|
||||
@end
|
||||
@@ -0,0 +1,14 @@
|
||||
//
|
||||
// HudDemoViewController.h
|
||||
// HudDemo
|
||||
//
|
||||
// Created by Matej Bukovinski on 30.9.09.
|
||||
// Copyright © 2009-2016 Matej Bukovinski. All rights reserved.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
|
||||
@interface MBHudDemoViewController : UITableViewController
|
||||
|
||||
@end
|
||||
@@ -0,0 +1,450 @@
|
||||
//
|
||||
// MBHudDemoViewController.m
|
||||
// HudDemo
|
||||
//
|
||||
// Created by Matej Bukovinski on 30.9.09.
|
||||
// Copyright © 2009-2016 Matej Bukovinski. All rights reserved.
|
||||
//
|
||||
|
||||
#import "MBHudDemoViewController.h"
|
||||
#import "MBProgressHUD.h"
|
||||
#import <QuartzCore/QuartzCore.h>
|
||||
|
||||
@interface MBExample : NSObject
|
||||
|
||||
@property (nonatomic, copy) NSString *title;
|
||||
@property (nonatomic, assign) SEL selector;
|
||||
|
||||
@end
|
||||
|
||||
|
||||
@implementation MBExample
|
||||
|
||||
+ (instancetype)exampleWithTitle:(NSString *)title selector:(SEL)selector {
|
||||
MBExample *example = [[self class] new];
|
||||
example.title = title;
|
||||
example.selector = selector;
|
||||
return example;
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
|
||||
@interface MBHudDemoViewController () <NSURLSessionDelegate>
|
||||
|
||||
@property (nonatomic, strong) NSArray<NSArray<MBExample *> *> *examples;
|
||||
// Atomic, because it may be canceled from main thread, flag is read on a background thread
|
||||
@property (atomic, assign) BOOL canceled;
|
||||
|
||||
@end
|
||||
|
||||
|
||||
@implementation MBHudDemoViewController
|
||||
|
||||
#pragma mark - Lifecycle
|
||||
|
||||
- (void)awakeFromNib {
|
||||
[super awakeFromNib];
|
||||
self.examples =
|
||||
@[@[[MBExample exampleWithTitle:@"Indeterminate mode" selector:@selector(indeterminateExample)],
|
||||
[MBExample exampleWithTitle:@"With label" selector:@selector(labelExample)],
|
||||
[MBExample exampleWithTitle:@"With details label" selector:@selector(detailsLabelExample)]],
|
||||
@[[MBExample exampleWithTitle:@"Determinate mode" selector:@selector(determinateExample)],
|
||||
[MBExample exampleWithTitle:@"Annular determinate mode" selector:@selector(annularDeterminateExample)],
|
||||
[MBExample exampleWithTitle:@"Bar determinate mode" selector:@selector(barDeterminateExample)]],
|
||||
@[[MBExample exampleWithTitle:@"Text only" selector:@selector(textExample)],
|
||||
[MBExample exampleWithTitle:@"Custom view" selector:@selector(customViewExample)],
|
||||
[MBExample exampleWithTitle:@"With action button" selector:@selector(cancelationExample)],
|
||||
[MBExample exampleWithTitle:@"Mode switching" selector:@selector(modeSwitchingExample)]],
|
||||
@[[MBExample exampleWithTitle:@"On window" selector:@selector(windowExample)],
|
||||
[MBExample exampleWithTitle:@"NSURLSession" selector:@selector(networkingExample)],
|
||||
[MBExample exampleWithTitle:@"Determinate with NSProgress" selector:@selector(determinateNSProgressExample)],
|
||||
[MBExample exampleWithTitle:@"Dim background" selector:@selector(dimBackgroundExample)],
|
||||
[MBExample exampleWithTitle:@"Colored" selector:@selector(colorExample)]]
|
||||
];
|
||||
}
|
||||
|
||||
#pragma mark - Examples
|
||||
|
||||
- (void)indeterminateExample {
|
||||
// Show the HUD on the root view (self.view is a scrollable table view and thus not suitable,
|
||||
// as the HUD would move with the content as we scroll).
|
||||
MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.navigationController.view animated:YES];
|
||||
|
||||
// Fire off an asynchronous task, giving UIKit the opportunity to redraw wit the HUD added to the
|
||||
// view hierarchy.
|
||||
dispatch_async(dispatch_get_global_queue(QOS_CLASS_USER_INITIATED, 0), ^{
|
||||
|
||||
// Do something useful in the background
|
||||
[self doSomeWork];
|
||||
|
||||
// IMPORTANT - Dispatch back to the main thread. Always access UI
|
||||
// classes (including MBProgressHUD) on the main thread.
|
||||
dispatch_async(dispatch_get_main_queue(), ^{
|
||||
[hud hideAnimated:YES];
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
- (void)labelExample {
|
||||
MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.navigationController.view animated:YES];
|
||||
|
||||
// Set the label text.
|
||||
hud.label.text = NSLocalizedString(@"Loading...", @"HUD loading title");
|
||||
// You can also adjust other label properties if needed.
|
||||
// hud.label.font = [UIFont italicSystemFontOfSize:16.f];
|
||||
|
||||
dispatch_async(dispatch_get_global_queue(QOS_CLASS_USER_INITIATED, 0), ^{
|
||||
[self doSomeWork];
|
||||
dispatch_async(dispatch_get_main_queue(), ^{
|
||||
[hud hideAnimated:YES];
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
- (void)detailsLabelExample {
|
||||
MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.navigationController.view animated:YES];
|
||||
|
||||
// Set the label text.
|
||||
hud.label.text = NSLocalizedString(@"Loading...", @"HUD loading title");
|
||||
// Set the details label text. Let's make it multiline this time.
|
||||
hud.detailsLabel.text = NSLocalizedString(@"Parsing data\n(1/1)", @"HUD title");
|
||||
|
||||
dispatch_async(dispatch_get_global_queue(QOS_CLASS_USER_INITIATED, 0), ^{
|
||||
[self doSomeWork];
|
||||
dispatch_async(dispatch_get_main_queue(), ^{
|
||||
[hud hideAnimated:YES];
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
- (void)windowExample {
|
||||
// Covers the entire screen. Similar to using the root view controller view.
|
||||
MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.view.window animated:YES];
|
||||
dispatch_async(dispatch_get_global_queue(QOS_CLASS_USER_INITIATED, 0), ^{
|
||||
[self doSomeWork];
|
||||
dispatch_async(dispatch_get_main_queue(), ^{
|
||||
[hud hideAnimated:YES];
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
- (void)determinateExample {
|
||||
MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.navigationController.view animated:YES];
|
||||
|
||||
// Set the determinate mode to show task progress.
|
||||
hud.mode = MBProgressHUDModeDeterminate;
|
||||
hud.label.text = NSLocalizedString(@"Loading...", @"HUD loading title");
|
||||
|
||||
dispatch_async(dispatch_get_global_queue(QOS_CLASS_USER_INITIATED, 0), ^{
|
||||
// Do something useful in the background and update the HUD periodically.
|
||||
[self doSomeWorkWithProgress];
|
||||
dispatch_async(dispatch_get_main_queue(), ^{
|
||||
[hud hideAnimated:YES];
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
- (void)determinateNSProgressExample {
|
||||
MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.navigationController.view animated:YES];
|
||||
|
||||
// Set the determinate mode to show task progress.
|
||||
hud.mode = MBProgressHUDModeDeterminate;
|
||||
hud.label.text = NSLocalizedString(@"Loading...", @"HUD loading title");
|
||||
|
||||
// Set up NSProgress
|
||||
NSProgress *progressObject = [NSProgress progressWithTotalUnitCount:100];
|
||||
hud.progressObject = progressObject;
|
||||
|
||||
// Configure a cancel button.
|
||||
[hud.button setTitle:NSLocalizedString(@"Cancel", @"HUD cancel button title") forState:UIControlStateNormal];
|
||||
[hud.button addTarget:progressObject action:@selector(cancel) forControlEvents:UIControlEventTouchUpInside];
|
||||
|
||||
dispatch_async(dispatch_get_global_queue(QOS_CLASS_USER_INITIATED, 0), ^{
|
||||
// Do something useful in the background and update the HUD periodically.
|
||||
[self doSomeWorkWithProgressObject:progressObject];
|
||||
dispatch_async(dispatch_get_main_queue(), ^{
|
||||
[hud hideAnimated:YES];
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
- (void)annularDeterminateExample {
|
||||
MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.navigationController.view animated:YES];
|
||||
|
||||
// Set the annular determinate mode to show task progress.
|
||||
hud.mode = MBProgressHUDModeAnnularDeterminate;
|
||||
hud.label.text = NSLocalizedString(@"Loading...", @"HUD loading title");
|
||||
|
||||
dispatch_async(dispatch_get_global_queue(QOS_CLASS_USER_INITIATED, 0), ^{
|
||||
// Do something useful in the background and update the HUD periodically.
|
||||
[self doSomeWorkWithProgress];
|
||||
dispatch_async(dispatch_get_main_queue(), ^{
|
||||
[hud hideAnimated:YES];
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
- (void)barDeterminateExample {
|
||||
MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.navigationController.view animated:YES];
|
||||
|
||||
// Set the bar determinate mode to show task progress.
|
||||
hud.mode = MBProgressHUDModeDeterminateHorizontalBar;
|
||||
hud.label.text = NSLocalizedString(@"Loading...", @"HUD loading title");
|
||||
|
||||
dispatch_async(dispatch_get_global_queue(QOS_CLASS_USER_INITIATED, 0), ^{
|
||||
// Do something useful in the background and update the HUD periodically.
|
||||
[self doSomeWorkWithProgress];
|
||||
dispatch_async(dispatch_get_main_queue(), ^{
|
||||
[hud hideAnimated:YES];
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
- (void)customViewExample {
|
||||
MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.navigationController.view animated:YES];
|
||||
|
||||
// Set the custom view mode to show any view.
|
||||
hud.mode = MBProgressHUDModeCustomView;
|
||||
// Set an image view with a checkmark.
|
||||
UIImage *image = [[UIImage imageNamed:@"Checkmark"] imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
|
||||
hud.customView = [[UIImageView alloc] initWithImage:image];
|
||||
// Looks a bit nicer if we make it square.
|
||||
hud.square = YES;
|
||||
// Optional label text.
|
||||
hud.label.text = NSLocalizedString(@"Done", @"HUD done title");
|
||||
|
||||
[hud hideAnimated:YES afterDelay:3.f];
|
||||
}
|
||||
|
||||
- (void)textExample {
|
||||
MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.navigationController.view animated:YES];
|
||||
|
||||
// Set the text mode to show only text.
|
||||
hud.mode = MBProgressHUDModeText;
|
||||
hud.label.text = NSLocalizedString(@"Message here!", @"HUD message title");
|
||||
// Move to bottm center.
|
||||
hud.offset = CGPointMake(0.f, MBProgressMaxOffset);
|
||||
|
||||
[hud hideAnimated:YES afterDelay:3.f];
|
||||
}
|
||||
|
||||
- (void)cancelationExample {
|
||||
MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.navigationController.view animated:YES];
|
||||
|
||||
// Set the determinate mode to show task progress.
|
||||
hud.mode = MBProgressHUDModeDeterminate;
|
||||
hud.label.text = NSLocalizedString(@"Loading...", @"HUD loading title");
|
||||
|
||||
// Configure the button.
|
||||
[hud.button setTitle:NSLocalizedString(@"Cancel", @"HUD cancel button title") forState:UIControlStateNormal];
|
||||
[hud.button addTarget:self action:@selector(cancelWork:) forControlEvents:UIControlEventTouchUpInside];
|
||||
|
||||
dispatch_async(dispatch_get_global_queue(QOS_CLASS_USER_INITIATED, 0), ^{
|
||||
// Do something useful in the background and update the HUD periodically.
|
||||
[self doSomeWorkWithProgress];
|
||||
dispatch_async(dispatch_get_main_queue(), ^{
|
||||
[hud hideAnimated:YES];
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
- (void)modeSwitchingExample {
|
||||
MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.navigationController.view animated:YES];
|
||||
|
||||
// Set some text to show the initial status.
|
||||
hud.label.text = NSLocalizedString(@"Preparing...", @"HUD preparing title");
|
||||
// Will look best, if we set a minimum size.
|
||||
hud.minSize = CGSizeMake(150.f, 100.f);
|
||||
|
||||
dispatch_async(dispatch_get_global_queue(QOS_CLASS_USER_INITIATED, 0), ^{
|
||||
// Do something useful in the background and update the HUD periodically.
|
||||
[self doSomeWorkWithMixedProgress:hud];
|
||||
dispatch_async(dispatch_get_main_queue(), ^{
|
||||
[hud hideAnimated:YES];
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
- (void)networkingExample {
|
||||
MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.navigationController.view animated:YES];
|
||||
|
||||
// Set some text to show the initial status.
|
||||
hud.label.text = NSLocalizedString(@"Preparing...", @"HUD preparing title");
|
||||
// Will look best, if we set a minimum size.
|
||||
hud.minSize = CGSizeMake(150.f, 100.f);
|
||||
|
||||
[self doSomeNetworkWorkWithProgress];
|
||||
}
|
||||
|
||||
- (void)dimBackgroundExample {
|
||||
MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.navigationController.view animated:YES];
|
||||
|
||||
// Change the background view style and color.
|
||||
hud.backgroundView.style = MBProgressHUDBackgroundStyleSolidColor;
|
||||
hud.backgroundView.color = [UIColor colorWithWhite:0.f alpha:0.1f];
|
||||
|
||||
dispatch_async(dispatch_get_global_queue(QOS_CLASS_USER_INITIATED, 0), ^{
|
||||
[self doSomeWork];
|
||||
dispatch_async(dispatch_get_main_queue(), ^{
|
||||
[hud hideAnimated:YES];
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
- (void)colorExample {
|
||||
MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.navigationController.view animated:YES];
|
||||
hud.contentColor = [UIColor colorWithRed:0.f green:0.6f blue:0.7f alpha:1.f];
|
||||
|
||||
// Set the label text.
|
||||
hud.label.text = NSLocalizedString(@"Loading...", @"HUD loading title");
|
||||
|
||||
dispatch_async(dispatch_get_global_queue(QOS_CLASS_USER_INITIATED, 0), ^{
|
||||
[self doSomeWork];
|
||||
dispatch_async(dispatch_get_main_queue(), ^{
|
||||
[hud hideAnimated:YES];
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
#pragma mark - Tasks
|
||||
|
||||
- (void)doSomeWork {
|
||||
// Simulate by just waiting.
|
||||
sleep(3.);
|
||||
}
|
||||
|
||||
- (void)doSomeWorkWithProgressObject:(NSProgress *)progressObject {
|
||||
// This just increases the progress indicator in a loop.
|
||||
while (progressObject.fractionCompleted < 1.0f) {
|
||||
if (progressObject.isCancelled) break;
|
||||
[progressObject becomeCurrentWithPendingUnitCount:1];
|
||||
[progressObject resignCurrent];
|
||||
usleep(50000);
|
||||
}
|
||||
}
|
||||
|
||||
- (void)doSomeWorkWithProgress {
|
||||
self.canceled = NO;
|
||||
// This just increases the progress indicator in a loop.
|
||||
float progress = 0.0f;
|
||||
while (progress < 1.0f) {
|
||||
if (self.canceled) break;
|
||||
progress += 0.01f;
|
||||
dispatch_async(dispatch_get_main_queue(), ^{
|
||||
// Instead we could have also passed a reference to the HUD
|
||||
// to the HUD to myProgressTask as a method parameter.
|
||||
[MBProgressHUD HUDForView:self.navigationController.view].progress = progress;
|
||||
});
|
||||
usleep(50000);
|
||||
}
|
||||
}
|
||||
|
||||
- (void)doSomeWorkWithMixedProgress:(MBProgressHUD *)hud {
|
||||
// Indeterminate mode
|
||||
sleep(2);
|
||||
// Switch to determinate mode
|
||||
dispatch_async(dispatch_get_main_queue(), ^{
|
||||
hud.mode = MBProgressHUDModeDeterminate;
|
||||
hud.label.text = NSLocalizedString(@"Loading...", @"HUD loading title");
|
||||
});
|
||||
float progress = 0.0f;
|
||||
while (progress < 1.0f) {
|
||||
progress += 0.01f;
|
||||
dispatch_async(dispatch_get_main_queue(), ^{
|
||||
hud.progress = progress;
|
||||
});
|
||||
usleep(50000);
|
||||
}
|
||||
// Back to indeterminate mode
|
||||
dispatch_async(dispatch_get_main_queue(), ^{
|
||||
hud.mode = MBProgressHUDModeIndeterminate;
|
||||
hud.label.text = NSLocalizedString(@"Cleaning up...", @"HUD cleanining up title");
|
||||
});
|
||||
sleep(2);
|
||||
dispatch_sync(dispatch_get_main_queue(), ^{
|
||||
UIImage *image = [[UIImage imageNamed:@"Checkmark"] imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
|
||||
UIImageView *imageView = [[UIImageView alloc] initWithImage:image];
|
||||
hud.customView = imageView;
|
||||
hud.mode = MBProgressHUDModeCustomView;
|
||||
hud.label.text = NSLocalizedString(@"Completed", @"HUD completed title");
|
||||
});
|
||||
sleep(2);
|
||||
}
|
||||
|
||||
- (void)doSomeNetworkWorkWithProgress {
|
||||
NSURLSessionConfiguration *sessionConfig = [NSURLSessionConfiguration defaultSessionConfiguration];
|
||||
NSURLSession *session = [NSURLSession sessionWithConfiguration:sessionConfig delegate:self delegateQueue:nil];
|
||||
NSURL *URL = [NSURL URLWithString:@"https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/HT1425/sample_iPod.m4v.zip"];
|
||||
NSURLSessionDownloadTask *task = [session downloadTaskWithURL:URL];
|
||||
[task resume];
|
||||
}
|
||||
|
||||
- (void)cancelWork:(id)sender {
|
||||
self.canceled = YES;
|
||||
}
|
||||
|
||||
#pragma mark - UITableViewDelegate
|
||||
|
||||
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
|
||||
return self.examples.count;
|
||||
}
|
||||
|
||||
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
|
||||
return self.examples[section].count;
|
||||
}
|
||||
|
||||
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
|
||||
MBExample *example = self.examples[indexPath.section][indexPath.row];
|
||||
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"MBExampleCell" forIndexPath:indexPath];
|
||||
cell.textLabel.text = example.title;
|
||||
cell.textLabel.textColor = self.view.tintColor;
|
||||
cell.textLabel.textAlignment = NSTextAlignmentCenter;
|
||||
cell.selectedBackgroundView = [UIView new];
|
||||
cell.selectedBackgroundView.backgroundColor = [cell.textLabel.textColor colorWithAlphaComponent:0.1f];
|
||||
return cell;
|
||||
}
|
||||
|
||||
#pragma mark - UITableViewDelegate
|
||||
|
||||
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
|
||||
MBExample *example = self.examples[indexPath.section][indexPath.row];
|
||||
#pragma clang diagnostic push
|
||||
#pragma clang diagnostic ignored "-Warc-performSelector-leaks"
|
||||
[self performSelector:example.selector];
|
||||
#pragma clang diagnostic pop
|
||||
|
||||
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
|
||||
[tableView deselectRowAtIndexPath:indexPath animated:YES];
|
||||
});
|
||||
}
|
||||
|
||||
#pragma mark - NSURLSessionDelegate
|
||||
|
||||
- (void)URLSession:(NSURLSession *)session downloadTask:(NSURLSessionDownloadTask *)downloadTask didFinishDownloadingToURL:(NSURL *)location {
|
||||
// Do something with the data at location...
|
||||
|
||||
// Update the UI on the main thread
|
||||
dispatch_async(dispatch_get_main_queue(), ^{
|
||||
MBProgressHUD *hud = [MBProgressHUD HUDForView:self.navigationController.view];
|
||||
UIImage *image = [[UIImage imageNamed:@"Checkmark"] imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
|
||||
UIImageView *imageView = [[UIImageView alloc] initWithImage:image];
|
||||
hud.customView = imageView;
|
||||
hud.mode = MBProgressHUDModeCustomView;
|
||||
hud.label.text = NSLocalizedString(@"Completed", @"HUD completed title");
|
||||
[hud hideAnimated:YES afterDelay:3.f];
|
||||
});
|
||||
}
|
||||
|
||||
- (void)URLSession:(NSURLSession *)session downloadTask:(NSURLSessionDownloadTask *)downloadTask didWriteData:(int64_t)bytesWritten totalBytesWritten:(int64_t)totalBytesWritten totalBytesExpectedToWrite:(int64_t)totalBytesExpectedToWrite {
|
||||
float progress = (float)totalBytesWritten / (float)totalBytesExpectedToWrite;
|
||||
|
||||
// Update the UI on the main thread
|
||||
dispatch_async(dispatch_get_main_queue(), ^{
|
||||
MBProgressHUD *hud = [MBProgressHUD HUDForView:self.navigationController.view];
|
||||
hud.mode = MBProgressHUDModeDeterminate;
|
||||
hud.progress = progress;
|
||||
});
|
||||
}
|
||||
|
||||
@end
|
||||
@@ -0,0 +1,46 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="15702" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="Fq2-vR-Rsu">
|
||||
<device id="retina6_1" orientation="portrait" appearance="light"/>
|
||||
<dependencies>
|
||||
<deployment identifier="iOS"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="15704"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
</dependencies>
|
||||
<scenes>
|
||||
<!--Navigation Controller-->
|
||||
<scene sceneID="gfk-xX-zgL">
|
||||
<objects>
|
||||
<navigationController id="Fq2-vR-Rsu" sceneMemberID="viewController">
|
||||
<navigationBar key="navigationBar" contentMode="scaleToFill" id="2LN-7G-jZD">
|
||||
<rect key="frame" x="0.0" y="44" width="414" height="44"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
</navigationBar>
|
||||
<connections>
|
||||
<segue destination="iXE-FA-91q" kind="relationship" relationship="rootViewController" id="peN-oI-nI6"/>
|
||||
</connections>
|
||||
</navigationController>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="blx-hg-yRR" userLabel="First Responder" sceneMemberID="firstResponder"/>
|
||||
</objects>
|
||||
<point key="canvasLocation" x="-328" y="525"/>
|
||||
</scene>
|
||||
<!--MBProgressHUD-->
|
||||
<scene sceneID="v3e-zg-M0g">
|
||||
<objects>
|
||||
<viewController id="iXE-FA-91q" sceneMemberID="viewController">
|
||||
<layoutGuides>
|
||||
<viewControllerLayoutGuide type="top" id="Qu9-82-m3K"/>
|
||||
<viewControllerLayoutGuide type="bottom" id="YSo-zR-oqe"/>
|
||||
</layoutGuides>
|
||||
<view key="view" contentMode="scaleToFill" id="TWt-Z9-CWt">
|
||||
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<color key="backgroundColor" red="0.93725490199999995" green="0.93725490199999995" blue="0.95686274510000002" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</view>
|
||||
<navigationItem key="navigationItem" title="MBProgressHUD" id="IuF-Dp-Voh"/>
|
||||
</viewController>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="zfE-vP-CLG" userLabel="First Responder" sceneMemberID="firstResponder"/>
|
||||
</objects>
|
||||
<point key="canvasLocation" x="413" y="525"/>
|
||||
</scene>
|
||||
</scenes>
|
||||
</document>
|
||||
@@ -0,0 +1,58 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="15702" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="9dw-fs-BGe">
|
||||
<device id="retina6_1" orientation="portrait" appearance="light"/>
|
||||
<dependencies>
|
||||
<deployment identifier="iOS"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="15704"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
</dependencies>
|
||||
<scenes>
|
||||
<!--MBProgressHUD-->
|
||||
<scene sceneID="t7O-Gz-sDn">
|
||||
<objects>
|
||||
<tableViewController id="1VA-J6-vTg" customClass="MBHudDemoViewController" sceneMemberID="viewController">
|
||||
<tableView key="view" clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="grouped" separatorStyle="default" rowHeight="44" sectionHeaderHeight="18" sectionFooterHeight="18" id="v14-ld-S1m">
|
||||
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/>
|
||||
<inset key="separatorInset" minX="30" minY="0.0" maxX="30" maxY="0.0"/>
|
||||
<prototypes>
|
||||
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="blue" indentationWidth="10" reuseIdentifier="MBExampleCell" id="EW9-df-ImK">
|
||||
<rect key="frame" x="0.0" y="55.5" width="414" height="44"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="EW9-df-ImK" id="TMc-hr-0mm">
|
||||
<rect key="frame" x="0.0" y="0.0" width="414" height="44"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
</tableViewCellContentView>
|
||||
</tableViewCell>
|
||||
</prototypes>
|
||||
<sections/>
|
||||
<connections>
|
||||
<outlet property="dataSource" destination="1VA-J6-vTg" id="hKQ-Jz-Rff"/>
|
||||
<outlet property="delegate" destination="1VA-J6-vTg" id="JHC-qg-dsn"/>
|
||||
</connections>
|
||||
</tableView>
|
||||
<navigationItem key="navigationItem" title="MBProgressHUD" id="0xs-aB-nPy"/>
|
||||
</tableViewController>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="e7W-Fd-fGX" userLabel="First Responder" sceneMemberID="firstResponder"/>
|
||||
</objects>
|
||||
<point key="canvasLocation" x="553" y="428"/>
|
||||
</scene>
|
||||
<!--Navigation Controller-->
|
||||
<scene sceneID="sbm-9a-RlC">
|
||||
<objects>
|
||||
<navigationController id="9dw-fs-BGe" sceneMemberID="viewController">
|
||||
<navigationBar key="navigationBar" contentMode="scaleToFill" id="355-tf-2jt">
|
||||
<rect key="frame" x="0.0" y="44" width="414" height="44"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
</navigationBar>
|
||||
<connections>
|
||||
<segue destination="1VA-J6-vTg" kind="relationship" relationship="rootViewController" id="JkN-8S-WYA"/>
|
||||
</connections>
|
||||
</navigationController>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="umT-Lr-spd" userLabel="First Responder" sceneMemberID="firstResponder"/>
|
||||
</objects>
|
||||
<point key="canvasLocation" x="-267" y="428"/>
|
||||
</scene>
|
||||
</scenes>
|
||||
</document>
|
||||
@@ -0,0 +1,16 @@
|
||||
//
|
||||
// main.m
|
||||
// HudDemo
|
||||
//
|
||||
// Created by Matej Bukovinski on 2.4.09.
|
||||
// Copyright bukovinski.com 2009-2016. All rights reserved.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
#import "MBHudDemoAppDelegate.h"
|
||||
|
||||
int main(int argc, char *argv[]) {
|
||||
@autoreleasepool {
|
||||
return UIApplicationMain(argc, argv, nil, NSStringFromClass([MBHudDemoAppDelegate class]));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document type="com.apple.InterfaceBuilder.AppleTV.Storyboard" version="3.0" toolsVersion="15702" targetRuntime="AppleTV" propertyAccessControl="none" useAutolayout="YES" colorMatched="YES" initialViewController="BYZ-38-t0r">
|
||||
<device id="appleTV" appearance="light"/>
|
||||
<dependencies>
|
||||
<deployment identifier="tvOS"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="15704"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
</dependencies>
|
||||
<scenes>
|
||||
<!--View Controller-->
|
||||
<scene sceneID="tne-QT-ifu">
|
||||
<objects>
|
||||
<viewController id="BYZ-38-t0r" sceneMemberID="viewController">
|
||||
<layoutGuides>
|
||||
<viewControllerLayoutGuide type="top" id="y3c-jy-aDJ"/>
|
||||
<viewControllerLayoutGuide type="bottom" id="wfy-db-euE"/>
|
||||
</layoutGuides>
|
||||
<view key="view" contentMode="scaleToFill" id="8bC-Xf-vdC">
|
||||
<rect key="frame" x="0.0" y="0.0" width="1920" height="1080"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</view>
|
||||
</viewController>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="dkx-z0-nzr" sceneMemberID="firstResponder"/>
|
||||
</objects>
|
||||
<point key="canvasLocation" x="438" y="544"/>
|
||||
</scene>
|
||||
</scenes>
|
||||
</document>
|
||||
@@ -0,0 +1,40 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<document type="com.apple.InterfaceBuilder.AppleTV.Storyboard" version="3.0" toolsVersion="10117" systemVersion="15F34" targetRuntime="AppleTV" propertyAccessControl="none" useAutolayout="YES" initialViewController="BYZ-38-t0r">
|
||||
<dependencies>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="10085"/>
|
||||
</dependencies>
|
||||
<scenes>
|
||||
<!--Hud DemoTV View Controller-->
|
||||
<scene sceneID="tne-QT-ifu">
|
||||
<objects>
|
||||
<viewController id="BYZ-38-t0r" customClass="MBHudDemoTVViewController" sceneMemberID="viewController">
|
||||
<layoutGuides>
|
||||
<viewControllerLayoutGuide type="top" id="y3c-jy-aDJ"/>
|
||||
<viewControllerLayoutGuide type="bottom" id="wfy-db-euE"/>
|
||||
</layoutGuides>
|
||||
<view key="view" contentMode="scaleToFill" id="8bC-Xf-vdC">
|
||||
<rect key="frame" x="0.0" y="0.0" width="1920" height="1080"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="eq8-Tn-jxG">
|
||||
<rect key="frame" x="827" y="20" width="266" height="86"/>
|
||||
<inset key="contentEdgeInsets" minX="40" minY="20" maxX="40" maxY="20"/>
|
||||
<state key="normal" title="Show HUD"/>
|
||||
<connections>
|
||||
<action selector="showHud:" destination="BYZ-38-t0r" eventType="primaryActionTriggered" id="s9S-8k-jtW"/>
|
||||
</connections>
|
||||
</button>
|
||||
</subviews>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="calibratedWhite"/>
|
||||
<constraints>
|
||||
<constraint firstItem="eq8-Tn-jxG" firstAttribute="centerX" secondItem="8bC-Xf-vdC" secondAttribute="centerX" id="LhD-Fp-nSs"/>
|
||||
<constraint firstItem="eq8-Tn-jxG" firstAttribute="top" secondItem="y3c-jy-aDJ" secondAttribute="bottom" constant="20" id="deC-38-WIW"/>
|
||||
</constraints>
|
||||
</view>
|
||||
</viewController>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="dkx-z0-nzr" sceneMemberID="firstResponder"/>
|
||||
</objects>
|
||||
<point key="canvasLocation" x="438" y="544"/>
|
||||
</scene>
|
||||
</scenes>
|
||||
</document>
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "tv",
|
||||
"filename" : "gradient-fill-6-copy.png",
|
||||
"scale" : "1x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
||||
|
After Width: | Height: | Size: 214 B |
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"layers" : [
|
||||
{
|
||||
"filename" : "Front.imagestacklayer"
|
||||
},
|
||||
{
|
||||
"filename" : "Back.imagestacklayer"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "tv",
|
||||
"filename" : "vector-smart-object.png",
|
||||
"scale" : "1x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
||||
|
After Width: | Height: | Size: 9.6 KiB |
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "tv",
|
||||
"filename" : "gradient-fill-6-copy.png",
|
||||
"scale" : "1x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
||||
|
After Width: | Height: | Size: 106 B |
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"layers" : [
|
||||
{
|
||||
"filename" : "Front.imagestacklayer"
|
||||
},
|
||||
{
|
||||
"filename" : "Back.imagestacklayer"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "tv",
|
||||
"filename" : "vector-smart-object.png",
|
||||
"scale" : "1x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
||||
|
After Width: | Height: | Size: 3.3 KiB |
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"assets" : [
|
||||
{
|
||||
"size" : "1280x768",
|
||||
"idiom" : "tv",
|
||||
"filename" : "App Icon - Large.imagestack",
|
||||
"role" : "primary-app-icon"
|
||||
},
|
||||
{
|
||||
"size" : "400x240",
|
||||
"idiom" : "tv",
|
||||
"filename" : "App Icon - Small.imagestack",
|
||||
"role" : "primary-app-icon"
|
||||
},
|
||||
{
|
||||
"size" : "1920x720",
|
||||
"idiom" : "tv",
|
||||
"filename" : "Top Shelf Image.imageset",
|
||||
"role" : "top-shelf-image"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
||||
|
After Width: | Height: | Size: 26 KiB |
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "tv",
|
||||
"filename" : "AppleTV-TopShelf-1920x720.png",
|
||||
"scale" : "1x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
||||
|
After Width: | Height: | Size: 12 KiB |
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"orientation" : "landscape",
|
||||
"idiom" : "tv",
|
||||
"filename" : "AppleTV-Launch.png",
|
||||
"extent" : "full-screen",
|
||||
"minimum-system-version" : "9.0",
|
||||
"scale" : "1x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>en</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>$(EXECUTABLE_NAME)</string>
|
||||
<key>CFBundleIcons</key>
|
||||
<dict/>
|
||||
<key>CFBundleIcons~ipad</key>
|
||||
<dict/>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>$(PRODUCT_NAME)</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1</string>
|
||||
<key>LSRequiresIPhoneOS</key>
|
||||
<true/>
|
||||
<key>UILaunchStoryboardName</key>
|
||||
<string>Launch</string>
|
||||
<key>UIMainStoryboardFile</key>
|
||||
<string>Main</string>
|
||||
<key>UIRequiredDeviceCapabilities</key>
|
||||
<array>
|
||||
<string>arm64</string>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
||||
@@ -0,0 +1,16 @@
|
||||
//
|
||||
// MBHudDemoTV.h
|
||||
// HudDemoTV
|
||||
//
|
||||
// Created by Matej Bukovinski on 17. 07. 16.
|
||||
// Copyright © 2016 Matej Bukovinski. All rights reserved.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
@interface MBHudDemoTVAppDelegate : UIResponder <UIApplicationDelegate>
|
||||
|
||||
@property (strong, nonatomic) UIWindow *window;
|
||||
|
||||
@end
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
//
|
||||
// MBHudDemoTV.m
|
||||
// HudDemoTV
|
||||
//
|
||||
// Created by Matej Bukovinski on 17. 07. 16.
|
||||
// Copyright © 2016 Matej Bukovinski. All rights reserved.
|
||||
//
|
||||
|
||||
#import "MBHudDemoTVAppDelegate.h"
|
||||
|
||||
@implementation MBHudDemoTVAppDelegate
|
||||
|
||||
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
|
||||
return YES;
|
||||
}
|
||||
|
||||
@end
|
||||
@@ -0,0 +1,14 @@
|
||||
//
|
||||
// MBHudDemoTVViewController.h
|
||||
// HudDemoTV
|
||||
//
|
||||
// Created by Matej Bukovinski on 17. 07. 16.
|
||||
// Copyright © 2016 Matej Bukovinski. All rights reserved.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
@interface MBHudDemoTVViewController : UIViewController
|
||||
|
||||
@end
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
//
|
||||
// MBHudDemoTVViewController.m
|
||||
// HudDemoTV
|
||||
//
|
||||
// Created by Matej Bukovinski on 17. 07. 16.
|
||||
// Copyright © 2016 Matej Bukovinski. All rights reserved.
|
||||
//
|
||||
|
||||
#import "MBHudDemoTVViewController.h"
|
||||
#import "MBProgressHUD.h"
|
||||
|
||||
@implementation MBHudDemoTVViewController
|
||||
|
||||
- (IBAction)showHud:(UIButton *)sender {
|
||||
sender.enabled = NO;
|
||||
|
||||
MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES];
|
||||
|
||||
// Set the determinate mode to show task progress.
|
||||
hud.mode = MBProgressHUDModeDeterminate;
|
||||
hud.label.text = NSLocalizedString(@"Loading...", @"HUD loading title");
|
||||
|
||||
dispatch_async(dispatch_get_global_queue(QOS_CLASS_USER_INITIATED, 0), ^{
|
||||
// Do something useful in the background and update the HUD periodically.
|
||||
[self doSomeWorkWithProgress];
|
||||
dispatch_async(dispatch_get_main_queue(), ^{
|
||||
[hud hideAnimated:YES];
|
||||
sender.enabled = YES;
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
- (void)doSomeWorkWithProgress {
|
||||
// This just increases the progress indicator in a loop.
|
||||
float progress = 0.0f;
|
||||
while (progress < 1.0f) {
|
||||
progress += 0.01f;
|
||||
dispatch_async(dispatch_get_main_queue(), ^{
|
||||
// Instead we could have also passed a reference to the HUD
|
||||
// to the HUD to myProgressTask as a method parameter.
|
||||
[MBProgressHUD HUDForView:self.view].progress = progress;
|
||||
});
|
||||
usleep(50000);
|
||||
}
|
||||
}
|
||||
|
||||
@end
|
||||
@@ -0,0 +1,16 @@
|
||||
//
|
||||
// main.m
|
||||
// HudDemoTV
|
||||
//
|
||||
// Created by Matej Bukovinski on 17. 07. 16.
|
||||
// Copyright © 2016 Matej Bukovinski. All rights reserved.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
#import "MBHudDemoTVAppDelegate.h"
|
||||
|
||||
int main(int argc, char * argv[]) {
|
||||
@autoreleasepool {
|
||||
return UIApplicationMain(argc, argv, nil, NSStringFromClass([MBHudDemoTVAppDelegate class]));
|
||||
}
|
||||
}
|
||||
@@ -1,374 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="7.10">
|
||||
<data>
|
||||
<int key="IBDocument.SystemTarget">528</int>
|
||||
<string key="IBDocument.SystemVersion">10C540</string>
|
||||
<string key="IBDocument.InterfaceBuilderVersion">740</string>
|
||||
<string key="IBDocument.AppKitVersion">1038.25</string>
|
||||
<string key="IBDocument.HIToolboxVersion">458.00</string>
|
||||
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
|
||||
<string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="NS.object.0">62</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<integer value="6"/>
|
||||
</object>
|
||||
<object class="NSArray" key="IBDocument.PluginDependencies">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="IBDocument.Metadata">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys" id="0">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBProxyObject" id="372490531">
|
||||
<string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
|
||||
</object>
|
||||
<object class="IBProxyObject" id="843779117">
|
||||
<string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
|
||||
</object>
|
||||
<object class="IBUIView" id="774585933">
|
||||
<reference key="NSNextResponder"/>
|
||||
<int key="NSvFlags">274</int>
|
||||
<object class="NSMutableArray" key="NSSubviews">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBUIButton" id="960472997">
|
||||
<reference key="NSNextResponder" ref="774585933"/>
|
||||
<int key="NSvFlags">294</int>
|
||||
<string key="NSFrame">{{20, 20}, {280, 40}}</string>
|
||||
<reference key="NSSuperview" ref="774585933"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
|
||||
<int key="IBUIContentHorizontalAlignment">0</int>
|
||||
<int key="IBUIContentVerticalAlignment">0</int>
|
||||
<object class="NSFont" key="IBUIFont" id="432819284">
|
||||
<string key="NSName">Helvetica-Bold</string>
|
||||
<double key="NSSize">15</double>
|
||||
<int key="NSfFlags">16</int>
|
||||
</object>
|
||||
<int key="IBUIButtonType">1</int>
|
||||
<string key="IBUINormalTitle">Simple indeterminate progress</string>
|
||||
<object class="NSColor" key="IBUIHighlightedTitleColor" id="434568641">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MSAxIDEAA</bytes>
|
||||
</object>
|
||||
<object class="NSColor" key="IBUINormalTitleColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA</bytes>
|
||||
</object>
|
||||
<object class="NSColor" key="IBUINormalTitleShadowColor" id="612289531">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MAA</bytes>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBUIButton" id="626654324">
|
||||
<reference key="NSNextResponder" ref="774585933"/>
|
||||
<int key="NSvFlags">294</int>
|
||||
<string key="NSFrame">{{20, 68}, {280, 40}}</string>
|
||||
<reference key="NSSuperview" ref="774585933"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
|
||||
<int key="IBUIContentHorizontalAlignment">0</int>
|
||||
<int key="IBUIContentVerticalAlignment">0</int>
|
||||
<reference key="IBUIFont" ref="432819284"/>
|
||||
<int key="IBUIButtonType">1</int>
|
||||
<string key="IBUINormalTitle">With label</string>
|
||||
<reference key="IBUIHighlightedTitleColor" ref="434568641"/>
|
||||
<object class="NSColor" key="IBUINormalTitleColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA</bytes>
|
||||
</object>
|
||||
<reference key="IBUINormalTitleShadowColor" ref="612289531"/>
|
||||
</object>
|
||||
<object class="IBUIButton" id="244375631">
|
||||
<reference key="NSNextResponder" ref="774585933"/>
|
||||
<int key="NSvFlags">294</int>
|
||||
<string key="NSFrame">{{20, 116}, {280, 40}}</string>
|
||||
<reference key="NSSuperview" ref="774585933"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
|
||||
<int key="IBUIContentHorizontalAlignment">0</int>
|
||||
<int key="IBUIContentVerticalAlignment">0</int>
|
||||
<reference key="IBUIFont" ref="432819284"/>
|
||||
<int key="IBUIButtonType">1</int>
|
||||
<string key="IBUIHighlightedTitle">With details label</string>
|
||||
<string key="IBUIDisabledTitle">With details label</string>
|
||||
<string key="IBUISelectedTitle">With details label</string>
|
||||
<string key="IBUINormalTitle">With details label</string>
|
||||
<reference key="IBUIHighlightedTitleColor" ref="434568641"/>
|
||||
<object class="NSColor" key="IBUINormalTitleColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA</bytes>
|
||||
</object>
|
||||
<reference key="IBUINormalTitleShadowColor" ref="612289531"/>
|
||||
</object>
|
||||
<object class="IBUIButton" id="322519489">
|
||||
<reference key="NSNextResponder" ref="774585933"/>
|
||||
<int key="NSvFlags">294</int>
|
||||
<string key="NSFrame">{{20, 164}, {280, 40}}</string>
|
||||
<reference key="NSSuperview" ref="774585933"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
|
||||
<int key="IBUIContentHorizontalAlignment">0</int>
|
||||
<int key="IBUIContentVerticalAlignment">0</int>
|
||||
<reference key="IBUIFont" ref="432819284"/>
|
||||
<int key="IBUIButtonType">1</int>
|
||||
<string key="IBUINormalTitle">Determinate mode</string>
|
||||
<reference key="IBUIHighlightedTitleColor" ref="434568641"/>
|
||||
<object class="NSColor" key="IBUINormalTitleColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA</bytes>
|
||||
</object>
|
||||
<reference key="IBUINormalTitleShadowColor" ref="612289531"/>
|
||||
</object>
|
||||
<object class="IBUIButton" id="319652209">
|
||||
<reference key="NSNextResponder" ref="774585933"/>
|
||||
<int key="NSvFlags">294</int>
|
||||
<string key="NSFrame">{{20, 212}, {280, 40}}</string>
|
||||
<reference key="NSSuperview" ref="774585933"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
|
||||
<int key="IBUIContentHorizontalAlignment">0</int>
|
||||
<int key="IBUIContentVerticalAlignment">0</int>
|
||||
<reference key="IBUIFont" ref="432819284"/>
|
||||
<int key="IBUIButtonType">1</int>
|
||||
<string key="IBUINormalTitle">Mode switching</string>
|
||||
<reference key="IBUIHighlightedTitleColor" ref="434568641"/>
|
||||
<object class="NSColor" key="IBUINormalTitleColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA</bytes>
|
||||
</object>
|
||||
<reference key="IBUINormalTitleShadowColor" ref="612289531"/>
|
||||
</object>
|
||||
</object>
|
||||
<string key="NSFrameSize">{320, 460}</string>
|
||||
<reference key="NSSuperview"/>
|
||||
<object class="NSColor" key="IBUIBackgroundColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MC43NjQ0MTc3MSAwLjgxMjIyNzg1IDAuODIxMTc5NTEAA</bytes>
|
||||
</object>
|
||||
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
|
||||
<object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBObjectContainer" key="IBDocument.Objects">
|
||||
<object class="NSMutableArray" key="connectionRecords">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">view</string>
|
||||
<reference key="source" ref="372490531"/>
|
||||
<reference key="destination" ref="774585933"/>
|
||||
</object>
|
||||
<int key="connectionID">7</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchEventConnection" key="connection">
|
||||
<string key="label">showSimple:</string>
|
||||
<reference key="source" ref="960472997"/>
|
||||
<reference key="destination" ref="372490531"/>
|
||||
<int key="IBEventType">7</int>
|
||||
</object>
|
||||
<int key="connectionID">12</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchEventConnection" key="connection">
|
||||
<string key="label">showWithLabel:</string>
|
||||
<reference key="source" ref="626654324"/>
|
||||
<reference key="destination" ref="372490531"/>
|
||||
<int key="IBEventType">7</int>
|
||||
</object>
|
||||
<int key="connectionID">13</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchEventConnection" key="connection">
|
||||
<string key="label">showWithDetailsLabel:</string>
|
||||
<reference key="source" ref="244375631"/>
|
||||
<reference key="destination" ref="372490531"/>
|
||||
<int key="IBEventType">7</int>
|
||||
</object>
|
||||
<int key="connectionID">14</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchEventConnection" key="connection">
|
||||
<string key="label">showWithLabelDeterminate:</string>
|
||||
<reference key="source" ref="322519489"/>
|
||||
<reference key="destination" ref="372490531"/>
|
||||
<int key="IBEventType">7</int>
|
||||
</object>
|
||||
<int key="connectionID">17</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchEventConnection" key="connection">
|
||||
<string key="label">showWithLabelMixed:</string>
|
||||
<reference key="source" ref="319652209"/>
|
||||
<reference key="destination" ref="372490531"/>
|
||||
<int key="IBEventType">7</int>
|
||||
</object>
|
||||
<int key="connectionID">21</int>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBMutableOrderedSet" key="objectRecords">
|
||||
<object class="NSArray" key="orderedObjects">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">0</int>
|
||||
<reference key="object" ref="0"/>
|
||||
<reference key="children" ref="1000"/>
|
||||
<nil key="parent"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">-1</int>
|
||||
<reference key="object" ref="372490531"/>
|
||||
<reference key="parent" ref="0"/>
|
||||
<string key="objectName">File's Owner</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">-2</int>
|
||||
<reference key="object" ref="843779117"/>
|
||||
<reference key="parent" ref="0"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">6</int>
|
||||
<reference key="object" ref="774585933"/>
|
||||
<object class="NSMutableArray" key="children">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference ref="960472997"/>
|
||||
<reference ref="626654324"/>
|
||||
<reference ref="244375631"/>
|
||||
<reference ref="322519489"/>
|
||||
<reference ref="319652209"/>
|
||||
</object>
|
||||
<reference key="parent" ref="0"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">20</int>
|
||||
<reference key="object" ref="319652209"/>
|
||||
<reference key="parent" ref="774585933"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">16</int>
|
||||
<reference key="object" ref="322519489"/>
|
||||
<reference key="parent" ref="774585933"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">10</int>
|
||||
<reference key="object" ref="244375631"/>
|
||||
<reference key="parent" ref="774585933"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">9</int>
|
||||
<reference key="object" ref="626654324"/>
|
||||
<reference key="parent" ref="774585933"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">8</int>
|
||||
<reference key="object" ref="960472997"/>
|
||||
<reference key="parent" ref="774585933"/>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="flattenedProperties">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>-1.CustomClassName</string>
|
||||
<string>-2.CustomClassName</string>
|
||||
<string>10.IBPluginDependency</string>
|
||||
<string>16.IBPluginDependency</string>
|
||||
<string>20.IBPluginDependency</string>
|
||||
<string>6.IBEditorWindowLastContentRect</string>
|
||||
<string>6.IBPluginDependency</string>
|
||||
<string>8.IBPluginDependency</string>
|
||||
<string>9.IBPluginDependency</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>HudDemoViewController</string>
|
||||
<string>UIResponder</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string>{{179, 181}, {320, 480}}</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="unlocalizedProperties">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference key="dict.sortedKeys" ref="0"/>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
</object>
|
||||
<nil key="activeLocalization"/>
|
||||
<object class="NSMutableDictionary" key="localizations">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference key="dict.sortedKeys" ref="0"/>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
</object>
|
||||
<nil key="sourceID"/>
|
||||
<int key="maxID">42</int>
|
||||
</object>
|
||||
<object class="IBClassDescriber" key="IBDocument.Classes">
|
||||
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">HudDemoViewController</string>
|
||||
<string key="superclassName">UIViewController</string>
|
||||
<object class="NSMutableDictionary" key="actions">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>showSimple:</string>
|
||||
<string>showWithDetailsLabel:</string>
|
||||
<string>showWithLabel:</string>
|
||||
<string>showWithLabelDeterminate:</string>
|
||||
<string>showWithLabelMixed:</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>id</string>
|
||||
<string>id</string>
|
||||
<string>id</string>
|
||||
<string>id</string>
|
||||
<string>id</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">Classes/HudDemoViewController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<int key="IBDocument.localizationMode">0</int>
|
||||
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencies">
|
||||
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string>
|
||||
<integer value="528" key="NS.object.0"/>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
|
||||
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string>
|
||||
<integer value="544" key="NS.object.0"/>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
|
||||
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string>
|
||||
<integer value="3000" key="NS.object.0"/>
|
||||
</object>
|
||||
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
|
||||
<string key="IBDocument.LastKnownRelativeProjectPath">HudDemo.xcodeproj</string>
|
||||
<int key="IBDocument.defaultPropertyAccessControl">3</int>
|
||||
<string key="IBCocoaTouchPluginVersion">3.1</string>
|
||||
</data>
|
||||
</archive>
|
||||
@@ -0,0 +1,525 @@
|
||||
//
|
||||
// HudTests.m
|
||||
// HudTests
|
||||
//
|
||||
// Created by Matej Bukovinski on 31. 01. 16.
|
||||
// Copyright © 2016 Matej Bukovinski. All rights reserved.
|
||||
//
|
||||
|
||||
#import <XCTest/XCTest.h>
|
||||
#import "MBProgressHUD.h"
|
||||
|
||||
|
||||
#define weakify(var) __weak typeof(var) weak_##var = var;
|
||||
|
||||
#define strongify(var) \
|
||||
_Pragma("clang diagnostic push") \
|
||||
_Pragma("clang diagnostic ignored \"-Wshadow\"") \
|
||||
__strong typeof(var) var = weak_##var; \
|
||||
_Pragma("clang diagnostic pop")
|
||||
|
||||
#define MBTestHUDIsVisible(hud, rootView) \
|
||||
do { \
|
||||
XCTAssertEqualObjects(hud.superview, rootView, @"The hud should be added to the view."); \
|
||||
XCTAssertEqual(hud.alpha, 1.f, @"The HUD should be visible."); \
|
||||
XCTAssertFalse(hud.hidden, @"The HUD should be visible."); \
|
||||
XCTAssertEqual(hud.bezelView.alpha, 1.f, @"The HUD should be visible."); \
|
||||
} while (0)
|
||||
|
||||
#define MBTestHUDIsHiden(hud, rootView) \
|
||||
do { \
|
||||
XCTAssertEqual(hud.alpha, 0.f, @"The hud should be faded out."); \
|
||||
} while (0)
|
||||
|
||||
#define MBTestHUDIsHidenAndRemoved(hud, rootView) \
|
||||
do { \
|
||||
XCTAssertFalse([rootView.subviews containsObject:hud], @"The HUD should not be part of the view hierarchy."); \
|
||||
MBTestHUDIsHiden(hud, rootView); \
|
||||
XCTAssertNil(hud.superview, @"The HUD should not have a superview."); \
|
||||
} while (0)
|
||||
|
||||
@interface HudTests : XCTestCase <MBProgressHUDDelegate>
|
||||
|
||||
@property (nonatomic) XCTestExpectation *hideExpectation;
|
||||
@property (nonatomic, copy) dispatch_block_t hideChecks;
|
||||
|
||||
@end
|
||||
|
||||
|
||||
@implementation HudTests
|
||||
|
||||
#pragma mark - Initialization
|
||||
|
||||
- (void)testInitializers {
|
||||
XCTAssertNotNil([[MBProgressHUD alloc] initWithView:[UIView new]]);
|
||||
UIView *nilView = nil;
|
||||
XCTAssertThrows([[MBProgressHUD alloc] initWithView:nilView]);
|
||||
XCTAssertNotNil([[MBProgressHUD alloc] initWithFrame:CGRectZero]);
|
||||
NSKeyedUnarchiver *dummyUnarchiver;
|
||||
#if !TARGET_OS_MACCATALYST
|
||||
if (@available(iOS 11.0, *)) {
|
||||
#endif
|
||||
dummyUnarchiver = [[NSKeyedUnarchiver alloc] initForReadingFromData:[NSData data] error:nil];
|
||||
#if !TARGET_OS_MACCATALYST
|
||||
} else {
|
||||
dummyUnarchiver = [[NSKeyedUnarchiver alloc] initForReadingWithData:[NSData data]];
|
||||
}
|
||||
#endif
|
||||
XCTAssertNotNil([[MBProgressHUD alloc] initWithCoder:dummyUnarchiver]);
|
||||
}
|
||||
|
||||
#pragma mark - Convenience
|
||||
|
||||
- (void)testNonAnimatedConvenienceHUDPresentation {
|
||||
UIViewController *rootViewController = UIApplication.sharedApplication.windows.firstObject.rootViewController;
|
||||
UIView *rootView = rootViewController.view;
|
||||
|
||||
MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:rootView animated:NO];
|
||||
|
||||
XCTAssertNotNil(hud, @"A HUD should be created.");
|
||||
MBTestHUDIsVisible(hud, rootView);
|
||||
|
||||
XCTAssertEqual(hud.bezelView.alpha, 1.f, @"The HUD should be visible.");
|
||||
XCTAssertFalse([hud.bezelView.layer.animationKeys containsObject:@"opacity"], @"The opacity should NOT be animated.");
|
||||
|
||||
XCTAssertEqualObjects([MBProgressHUD HUDForView:rootView], hud, @"The HUD should be found via the convenience operation.");
|
||||
|
||||
XCTAssertTrue([MBProgressHUD hideHUDForView:rootView animated:NO], @"The HUD should be found and removed.");
|
||||
|
||||
MBTestHUDIsHidenAndRemoved(hud, rootView);
|
||||
|
||||
XCTAssertFalse([MBProgressHUD hideHUDForView:rootView animated:NO], @"A subsequent HUD hide operation should fail.");
|
||||
}
|
||||
|
||||
- (void)testAnimatedConvenienceHUDPresentation {
|
||||
UIViewController *rootViewController = UIApplication.sharedApplication.windows.firstObject.rootViewController;
|
||||
UIView *rootView = rootViewController.view;
|
||||
|
||||
self.hideExpectation = [self expectationWithDescription:@"The hudWasHidden: delegate should have been called."];
|
||||
|
||||
MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:rootView animated:YES];
|
||||
hud.delegate = self;
|
||||
|
||||
XCTAssertNotNil(hud, @"A HUD should be created.");
|
||||
MBTestHUDIsVisible(hud, rootView);
|
||||
|
||||
XCTAssertEqual(hud.bezelView.alpha, 1.f, @"The HUD should be visible.");
|
||||
XCTAssertTrue([hud.bezelView.layer.animationKeys containsObject:@"opacity"], @"The opacity should be animated.");
|
||||
|
||||
XCTAssertEqualObjects([MBProgressHUD HUDForView:rootView], hud, @"The HUD should be found via the convenience operation.");
|
||||
|
||||
XCTAssertTrue([MBProgressHUD hideHUDForView:rootView animated:YES], @"The HUD should be found and removed.");
|
||||
|
||||
XCTAssertTrue([rootView.subviews containsObject:hud], @"The HUD should still be part of the view hierarchy.");
|
||||
XCTAssertEqual(hud.alpha, 1.f, @"The hud should still be visible.");
|
||||
XCTAssertEqualObjects(hud.superview, rootView, @"The hud should be added to the view.");
|
||||
XCTAssertEqual(hud.bezelView.alpha, 0.f, @"The HUD bezel should be animated out.");
|
||||
XCTAssertTrue([hud.bezelView.layer.animationKeys containsObject:@"opacity"], @"The opacity should be animated.");
|
||||
|
||||
weakify(self);
|
||||
self.hideChecks = ^{
|
||||
strongify(self);
|
||||
MBTestHUDIsHidenAndRemoved(hud, rootView);
|
||||
|
||||
XCTAssertFalse([MBProgressHUD hideHUDForView:rootView animated:YES], @"A subsequent HUD hide operation should fail.");
|
||||
};
|
||||
|
||||
[self waitForExpectationsWithTimeout:5. handler:nil];
|
||||
}
|
||||
|
||||
- (void)testCompletionBlock {
|
||||
UIViewController *rootViewController = UIApplication.sharedApplication.windows.firstObject.rootViewController;
|
||||
UIView *rootView = rootViewController.view;
|
||||
|
||||
self.hideExpectation = [self expectationWithDescription:@"The hudWasHidden: delegate should have been called."];
|
||||
XCTestExpectation *completionExpectation = [self expectationWithDescription:@"The completionBlock: should have been called."];
|
||||
|
||||
MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:rootView animated:YES];
|
||||
hud.delegate = self;
|
||||
hud.completionBlock = ^{
|
||||
[completionExpectation fulfill];
|
||||
};
|
||||
|
||||
[hud hideAnimated:YES];
|
||||
|
||||
[self waitForExpectationsWithTimeout:5. handler:nil];
|
||||
}
|
||||
|
||||
#pragma mark - Modes
|
||||
|
||||
- (void)testRoundDeterminate {
|
||||
UIViewController *rootViewController = UIApplication.sharedApplication.windows.firstObject.rootViewController;
|
||||
UIView *rootView = rootViewController.view;
|
||||
|
||||
MBProgressHUD *hud = [[MBProgressHUD alloc] initWithView:rootView];
|
||||
hud.mode = MBProgressHUDModeDeterminate;
|
||||
[rootView addSubview:hud];
|
||||
[hud showAnimated:NO];
|
||||
|
||||
MBTestHUDIsVisible(hud, rootView);
|
||||
XCTAssertNotNil([self view:hud firstSubviewOfClass:[MBRoundProgressView class]]);
|
||||
|
||||
XCTAssertTrue([MBProgressHUD hideHUDForView:rootView animated:NO], @"The HUD should be found and removed.");
|
||||
MBTestHUDIsHidenAndRemoved(hud, rootView);
|
||||
}
|
||||
|
||||
- (void)testRoundAnnularDeterminate {
|
||||
UIViewController *rootViewController = UIApplication.sharedApplication.windows.firstObject.rootViewController;
|
||||
UIView *rootView = rootViewController.view;
|
||||
|
||||
MBProgressHUD *hud = [[MBProgressHUD alloc] initWithView:rootView];
|
||||
hud.mode = MBProgressHUDModeAnnularDeterminate;
|
||||
[rootView addSubview:hud];
|
||||
[hud showAnimated:NO];
|
||||
|
||||
MBTestHUDIsVisible(hud, rootView);
|
||||
XCTAssertNotNil([self view:hud firstSubviewOfClass:[MBRoundProgressView class]]);
|
||||
|
||||
XCTAssertTrue([MBProgressHUD hideHUDForView:rootView animated:NO], @"The HUD should be found and removed.");
|
||||
MBTestHUDIsHidenAndRemoved(hud, rootView);
|
||||
}
|
||||
|
||||
- (void)testDeterminateHorizontalBar {
|
||||
UIViewController *rootViewController = UIApplication.sharedApplication.windows.firstObject.rootViewController;
|
||||
UIView *rootView = rootViewController.view;
|
||||
|
||||
MBProgressHUD *hud = [[MBProgressHUD alloc] initWithView:rootView];
|
||||
hud.mode = MBProgressHUDModeDeterminateHorizontalBar;
|
||||
[rootView addSubview:hud];
|
||||
[hud showAnimated:NO];
|
||||
|
||||
MBTestHUDIsVisible(hud, rootView);
|
||||
XCTAssertNotNil([self view:hud firstSubviewOfClass:[MBBarProgressView class]]);
|
||||
|
||||
XCTAssertTrue([MBProgressHUD hideHUDForView:rootView animated:NO], @"The HUD should be found and removed.");
|
||||
MBTestHUDIsHidenAndRemoved(hud, rootView);
|
||||
|
||||
}
|
||||
|
||||
#pragma mark - Customization
|
||||
|
||||
- (void)testEffectViewOrderAfterSettingBlurStyle {
|
||||
UIViewController *rootViewController = UIApplication.sharedApplication.windows.firstObject.rootViewController;
|
||||
UIView *rootView = rootViewController.view;
|
||||
|
||||
MBProgressHUD *hud = [[MBProgressHUD alloc] initWithView:rootView];
|
||||
|
||||
[hud.bezelView.subviews enumerateObjectsUsingBlock:^(UIView *view, NSUInteger idx, BOOL *stop) {
|
||||
XCTAssert(![view isKindOfClass:UIVisualEffectView.class] || idx == 0, @"Just the first subview should be a visual effect view.");
|
||||
}];
|
||||
|
||||
hud.bezelView.blurEffectStyle = UIBlurEffectStyleDark;
|
||||
|
||||
[hud.bezelView.subviews enumerateObjectsUsingBlock:^(UIView *view, NSUInteger idx, BOOL *stop) {
|
||||
XCTAssert(![view isKindOfClass:UIVisualEffectView.class] || idx == 0, @"Just the first subview should be a visual effect view even after changing the blurEffectStyle.");
|
||||
}];
|
||||
}
|
||||
|
||||
#pragma mark - Delay
|
||||
|
||||
- (void)testDelayedHide {
|
||||
UIViewController *rootViewController = UIApplication.sharedApplication.windows.firstObject.rootViewController;
|
||||
UIView *rootView = rootViewController.view;
|
||||
|
||||
self.hideExpectation = [self expectationWithDescription:@"The hudWasHidden: delegate should have been called."];
|
||||
|
||||
MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:rootView animated:NO];
|
||||
hud.delegate = self;
|
||||
|
||||
XCTAssertNotNil(hud, @"A HUD should be created.");
|
||||
|
||||
[hud hideAnimated:NO afterDelay:2];
|
||||
|
||||
MBTestHUDIsVisible(hud, rootView);
|
||||
|
||||
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
|
||||
MBTestHUDIsVisible(hud, rootView);
|
||||
});
|
||||
|
||||
XCTestExpectation *hideCheckExpectation = [self expectationWithDescription:@"Hide check"];
|
||||
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(3 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
|
||||
// After the grace time passes, the HUD should still not be shown.
|
||||
MBTestHUDIsHidenAndRemoved(hud, rootView);
|
||||
[hideCheckExpectation fulfill];
|
||||
});
|
||||
|
||||
[self waitForExpectationsWithTimeout:5. handler:nil];
|
||||
|
||||
MBTestHUDIsHidenAndRemoved(hud, rootView);
|
||||
}
|
||||
|
||||
- (void)testDelayedHideDoesNotRace {
|
||||
// https://github.com/jdg/MBProgressHUD/issues/503
|
||||
UIViewController *rootViewController = UIApplication.sharedApplication.windows.firstObject.rootViewController;
|
||||
UIView *rootView = rootViewController.view;
|
||||
|
||||
MBProgressHUD *hud = [[MBProgressHUD alloc] initWithView:rootView];
|
||||
[rootView addSubview:hud];
|
||||
|
||||
[hud showAnimated:YES];
|
||||
[hud hideAnimated:YES afterDelay:0.3];
|
||||
MBTestHUDIsVisible(hud, rootView);
|
||||
|
||||
XCTestExpectation *hideCheckExpectation = [self expectationWithDescription:@"Hide check"];
|
||||
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 0.3 * NSEC_PER_SEC), dispatch_get_main_queue(), ^{
|
||||
[hud showAnimated:YES];
|
||||
[hud hideAnimated:YES afterDelay:0.3];
|
||||
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
|
||||
MBTestHUDIsHiden(hud, rootView);
|
||||
[hideCheckExpectation fulfill];
|
||||
});
|
||||
});
|
||||
|
||||
[self waitForExpectationsWithTimeout:5. handler:nil];
|
||||
|
||||
[hud removeFromSuperview];
|
||||
MBTestHUDIsHidenAndRemoved(hud, rootView);
|
||||
}
|
||||
|
||||
#pragma mark - Ruse
|
||||
|
||||
- (void)testNonAnimatedHudReuse {
|
||||
UIViewController *rootViewController = UIApplication.sharedApplication.windows.firstObject.rootViewController;
|
||||
UIView *rootView = rootViewController.view;
|
||||
|
||||
MBProgressHUD *hud = [[MBProgressHUD alloc] initWithView:rootView];
|
||||
[rootView addSubview:hud];
|
||||
[hud showAnimated:NO];
|
||||
|
||||
XCTAssertNotNil(hud, @"A HUD should be created.");
|
||||
|
||||
[hud hideAnimated:NO];
|
||||
[hud showAnimated:NO];
|
||||
|
||||
MBTestHUDIsVisible(hud, rootView);
|
||||
|
||||
[hud hideAnimated:NO];
|
||||
[hud removeFromSuperview];
|
||||
}
|
||||
|
||||
- (void)testUnfinishedHidingAnimation {
|
||||
UIViewController *rootViewController = UIApplication.sharedApplication.windows.firstObject.rootViewController;
|
||||
UIView *rootView = rootViewController.view;
|
||||
|
||||
MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:rootView animated:NO];
|
||||
|
||||
[hud hideAnimated:YES];
|
||||
|
||||
// Cancel all animations. It will cause `UIView+animate...` to call completionBlock with `finished = NO`.
|
||||
// It's same as if you call `[hud hideAnimated:YES]` while the app is in background.
|
||||
[hud.bezelView.layer removeAllAnimations];
|
||||
[hud.backgroundView.layer removeAllAnimations];
|
||||
|
||||
XCTestExpectation *hideCheckExpectation = [self expectationWithDescription:@"Hide check"];
|
||||
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(3 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
|
||||
// After the grace time passes, the HUD should still not be shown.
|
||||
MBTestHUDIsHidenAndRemoved(hud, rootView);
|
||||
[hideCheckExpectation fulfill];
|
||||
});
|
||||
|
||||
[self waitForExpectationsWithTimeout:5. handler:nil];
|
||||
|
||||
MBTestHUDIsHidenAndRemoved(hud, rootView);
|
||||
}
|
||||
|
||||
- (void)testAnimatedImmediateHudReuse {
|
||||
UIViewController *rootViewController = UIApplication.sharedApplication.windows.firstObject.rootViewController;
|
||||
UIView *rootView = rootViewController.view;
|
||||
|
||||
XCTestExpectation *hideExpectation = [self expectationWithDescription:@"The hud should have been hidden."];
|
||||
|
||||
MBProgressHUD *hud = [[MBProgressHUD alloc] initWithView:rootView];
|
||||
[rootView addSubview:hud];
|
||||
[hud showAnimated:YES];
|
||||
|
||||
XCTAssertNotNil(hud, @"A HUD should be created.");
|
||||
|
||||
[hud hideAnimated:YES];
|
||||
[hud showAnimated:YES];
|
||||
|
||||
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
|
||||
MBTestHUDIsVisible(hud, rootView);
|
||||
|
||||
[hud hideAnimated:NO];
|
||||
[hud removeFromSuperview];
|
||||
|
||||
[hideExpectation fulfill];
|
||||
});
|
||||
|
||||
[self waitForExpectationsWithTimeout:5. handler:nil];
|
||||
}
|
||||
|
||||
#pragma mark - Min show time
|
||||
|
||||
- (void)testMinShowTime {
|
||||
UIViewController *rootViewController = UIApplication.sharedApplication.windows.firstObject.rootViewController;
|
||||
UIView *rootView = rootViewController.view;
|
||||
|
||||
self.hideExpectation = [self expectationWithDescription:@"The hudWasHidden: delegate should have been called."];
|
||||
|
||||
MBProgressHUD *hud = [[MBProgressHUD alloc] initWithView:rootView];
|
||||
hud.delegate = self;
|
||||
hud.removeFromSuperViewOnHide = YES;
|
||||
hud.minShowTime = 2.;
|
||||
[rootView addSubview:hud];
|
||||
[hud showAnimated:YES];
|
||||
|
||||
XCTAssertNotNil(hud, @"A HUD should be created.");
|
||||
|
||||
[hud hideAnimated:YES];
|
||||
|
||||
__block BOOL checkedAfterOneSecond = NO;
|
||||
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
|
||||
// Check that the hud is still visible
|
||||
MBTestHUDIsVisible(hud, rootView);
|
||||
checkedAfterOneSecond = YES;
|
||||
});
|
||||
|
||||
weakify(self);
|
||||
self.hideChecks = ^{
|
||||
strongify(self);
|
||||
XCTAssertTrue(checkedAfterOneSecond);
|
||||
};
|
||||
|
||||
[self waitForExpectationsWithTimeout:5. handler:nil];
|
||||
|
||||
MBTestHUDIsHidenAndRemoved(hud, rootView);
|
||||
}
|
||||
|
||||
#pragma mark - Grace time
|
||||
|
||||
- (void)testGraceTime {
|
||||
UIViewController *rootViewController = UIApplication.sharedApplication.windows.firstObject.rootViewController;
|
||||
UIView *rootView = rootViewController.view;
|
||||
|
||||
self.hideExpectation = [self expectationWithDescription:@"The hudWasHidden: delegate should have been called."];
|
||||
|
||||
MBProgressHUD *hud = [[MBProgressHUD alloc] initWithView:rootView];
|
||||
hud.delegate = self;
|
||||
hud.removeFromSuperViewOnHide = YES;
|
||||
hud.graceTime = 2.;
|
||||
[rootView addSubview:hud];
|
||||
[hud showAnimated:YES];
|
||||
|
||||
XCTAssertNotNil(hud, @"A HUD should be created.");
|
||||
|
||||
// The HUD should be added to the view but still hidden
|
||||
XCTAssertEqualObjects(hud.superview, rootView, @"The hud should be added to the view."); \
|
||||
XCTAssertEqual(hud.alpha, 0.f, @"The HUD should not be visible."); \
|
||||
XCTAssertFalse(hud.hidden, @"The HUD should be visible."); \
|
||||
XCTAssertEqual(hud.bezelView.alpha, 0.f, @"The HUD should not be visible."); \
|
||||
|
||||
|
||||
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
|
||||
// The HUD should be added to the view but still hidden
|
||||
XCTAssertEqualObjects(hud.superview, rootView, @"The hud should be added to the view."); \
|
||||
XCTAssertEqual(hud.alpha, 0.f, @"The HUD should not be visible."); \
|
||||
XCTAssertFalse(hud.hidden, @"The HUD should be visible."); \
|
||||
XCTAssertEqual(hud.bezelView.alpha, 0.f, @"The HUD should not be visible."); \
|
||||
});
|
||||
|
||||
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(3 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
|
||||
// After the grace time passes, the HUD should be shown.
|
||||
MBTestHUDIsVisible(hud, rootView);
|
||||
[hud hideAnimated:YES];
|
||||
});
|
||||
|
||||
[self waitForExpectationsWithTimeout:5. handler:nil];
|
||||
|
||||
MBTestHUDIsHidenAndRemoved(hud, rootView);
|
||||
}
|
||||
|
||||
- (void)testHideBeforeGraceTimeElapsed {
|
||||
UIViewController *rootViewController = UIApplication.sharedApplication.windows.firstObject.rootViewController;
|
||||
UIView *rootView = rootViewController.view;
|
||||
|
||||
self.hideExpectation = [self expectationWithDescription:@"The hudWasHidden: delegate should have been called."];
|
||||
|
||||
MBProgressHUD *hud = [[MBProgressHUD alloc] initWithView:rootView];
|
||||
hud.delegate = self;
|
||||
hud.removeFromSuperViewOnHide = YES;
|
||||
hud.graceTime = 2.;
|
||||
[rootView addSubview:hud];
|
||||
[hud showAnimated:YES];
|
||||
|
||||
XCTAssertNotNil(hud, @"A HUD should be created.");
|
||||
|
||||
// The HUD should be added to the view but still hidden
|
||||
XCTAssertEqualObjects(hud.superview, rootView, @"The hud should be added to the view."); \
|
||||
XCTAssertEqual(hud.alpha, 0.f, @"The HUD should not be visible."); \
|
||||
XCTAssertFalse(hud.hidden, @"The HUD should be visible."); \
|
||||
XCTAssertEqual(hud.bezelView.alpha, 0.f, @"The HUD should not be visible."); \
|
||||
|
||||
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
|
||||
// The HUD should be added to the view but still hidden
|
||||
XCTAssertEqualObjects(hud.superview, rootView, @"The hud should be added to the view."); \
|
||||
XCTAssertEqual(hud.alpha, 0.f, @"The HUD should not be visible."); \
|
||||
XCTAssertFalse(hud.hidden, @"The HUD should be visible."); \
|
||||
XCTAssertEqual(hud.bezelView.alpha, 0.f, @"The HUD should not be visible."); \
|
||||
[hud hideAnimated:YES];
|
||||
});
|
||||
|
||||
XCTestExpectation *hideCheckExpectation = [self expectationWithDescription:@"Hide check"];
|
||||
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(3 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
|
||||
// After the grace time passes, the HUD should still not be shown.
|
||||
MBTestHUDIsHidenAndRemoved(hud, rootView);
|
||||
[hideCheckExpectation fulfill];
|
||||
});
|
||||
|
||||
[self waitForExpectationsWithTimeout:5. handler:nil];
|
||||
|
||||
MBTestHUDIsHidenAndRemoved(hud, rootView);
|
||||
}
|
||||
|
||||
#pragma mark - Customization
|
||||
|
||||
- (void)testShape {
|
||||
UIViewController *rootViewController = UIApplication.sharedApplication.windows.firstObject.rootViewController;
|
||||
UIView *rootView = rootViewController.view;
|
||||
|
||||
MBProgressHUD *hud = [[MBProgressHUD alloc] initWithView:rootView];
|
||||
hud.removeFromSuperViewOnHide = YES;
|
||||
hud.offset = CGPointMake(50, 50);
|
||||
hud.square = YES;
|
||||
hud.label.text = @"Some long text...";
|
||||
[rootView addSubview:hud];
|
||||
[hud showAnimated:NO];
|
||||
|
||||
[hud setNeedsLayout];
|
||||
[hud layoutIfNeeded];
|
||||
|
||||
CGRect frame = hud.bezelView.frame;
|
||||
XCTAssertEqual(frame.size.width, frame.size.height);
|
||||
|
||||
[hud hideAnimated:NO];
|
||||
|
||||
MBTestHUDIsHidenAndRemoved(hud, rootView);
|
||||
}
|
||||
|
||||
#pragma mark - MBProgressHUDDelegate
|
||||
|
||||
- (void)hudWasHidden:(MBProgressHUD *)hud {
|
||||
if (self.hideChecks) self.hideChecks();
|
||||
self.hideChecks = nil;
|
||||
|
||||
[self.hideExpectation fulfill];
|
||||
self.hideExpectation = nil;
|
||||
}
|
||||
|
||||
#pragma mark - Helpers
|
||||
|
||||
- (nullable UIView *)view:(UIView *)view firstSubviewOfClass:(Class)clazz {
|
||||
for (__unsafe_unretained UIView *subview in view.subviews) {
|
||||
if ([subview isKindOfClass:clazz]) {
|
||||
return subview;
|
||||
}
|
||||
}
|
||||
__unsafe_unretained UIView *theView;
|
||||
for (__unsafe_unretained UIView *subview in view.subviews) {
|
||||
theView = [self view:subview firstSubviewOfClass:clazz];
|
||||
if (theView) { break; }
|
||||
}
|
||||
return theView;
|
||||
}
|
||||
|
||||
@end
|
||||
@@ -3,28 +3,22 @@
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>English</string>
|
||||
<key>CFBundleDisplayName</key>
|
||||
<string>${PRODUCT_NAME}</string>
|
||||
<string>en</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>${EXECUTABLE_NAME}</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string></string>
|
||||
<string>$(EXECUTABLE_NAME)</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>com.yourcompany.${PRODUCT_NAME:identifier}</string>
|
||||
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>${PRODUCT_NAME}</string>
|
||||
<string>$(PRODUCT_NAME)</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<string>BNDL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1.0</string>
|
||||
<key>LSRequiresIPhoneOS</key>
|
||||
<true/>
|
||||
<key>NSMainNibFile</key>
|
||||
<string>MainWindow</string>
|
||||
<string>1</string>
|
||||
</dict>
|
||||
</plist>
|
||||
@@ -1,206 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="7.02">
|
||||
<data>
|
||||
<int key="IBDocument.SystemTarget">528</int>
|
||||
<string key="IBDocument.SystemVersion">9E17</string>
|
||||
<string key="IBDocument.InterfaceBuilderVersion">672</string>
|
||||
<string key="IBDocument.AppKitVersion">949.33</string>
|
||||
<string key="IBDocument.HIToolboxVersion">352.00</string>
|
||||
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<integer value="10"/>
|
||||
</object>
|
||||
<object class="NSArray" key="IBDocument.PluginDependencies">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBProxyObject" id="841351856">
|
||||
<string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
|
||||
</object>
|
||||
<object class="IBProxyObject" id="427554174">
|
||||
<string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
|
||||
</object>
|
||||
<object class="IBUICustomObject" id="664661524"/>
|
||||
<object class="IBUIViewController" id="943309135">
|
||||
<string key="IBUINibName">HudDemoViewController</string>
|
||||
<object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
|
||||
</object>
|
||||
<object class="IBUIWindow" id="117978783">
|
||||
<nil key="NSNextResponder"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrameSize">{320, 480}</string>
|
||||
<object class="NSColor" key="IBUIBackgroundColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MSAxIDEAA</bytes>
|
||||
</object>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
|
||||
<object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBObjectContainer" key="IBDocument.Objects">
|
||||
<object class="NSMutableArray" key="connectionRecords">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">delegate</string>
|
||||
<reference key="source" ref="841351856"/>
|
||||
<reference key="destination" ref="664661524"/>
|
||||
</object>
|
||||
<int key="connectionID">4</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">viewController</string>
|
||||
<reference key="source" ref="664661524"/>
|
||||
<reference key="destination" ref="943309135"/>
|
||||
</object>
|
||||
<int key="connectionID">11</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">window</string>
|
||||
<reference key="source" ref="664661524"/>
|
||||
<reference key="destination" ref="117978783"/>
|
||||
</object>
|
||||
<int key="connectionID">14</int>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBMutableOrderedSet" key="objectRecords">
|
||||
<object class="NSArray" key="orderedObjects">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">0</int>
|
||||
<object class="NSArray" key="object" id="957960031">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
<reference key="children" ref="1000"/>
|
||||
<nil key="parent"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">-1</int>
|
||||
<reference key="object" ref="841351856"/>
|
||||
<reference key="parent" ref="957960031"/>
|
||||
<string type="base64-UTF8" key="objectName">RmlsZSdzIE93bmVyA</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">3</int>
|
||||
<reference key="object" ref="664661524"/>
|
||||
<reference key="parent" ref="957960031"/>
|
||||
<string key="objectName">HudDemo App Delegate</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">-2</int>
|
||||
<reference key="object" ref="427554174"/>
|
||||
<reference key="parent" ref="957960031"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">10</int>
|
||||
<reference key="object" ref="943309135"/>
|
||||
<reference key="parent" ref="957960031"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">12</int>
|
||||
<reference key="object" ref="117978783"/>
|
||||
<reference key="parent" ref="957960031"/>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="flattenedProperties">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSMutableArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>-1.CustomClassName</string>
|
||||
<string>-2.CustomClassName</string>
|
||||
<string>10.CustomClassName</string>
|
||||
<string>10.IBEditorWindowLastContentRect</string>
|
||||
<string>10.IBPluginDependency</string>
|
||||
<string>12.IBEditorWindowLastContentRect</string>
|
||||
<string>12.IBPluginDependency</string>
|
||||
<string>3.CustomClassName</string>
|
||||
<string>3.IBPluginDependency</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>UIApplication</string>
|
||||
<string>UIResponder</string>
|
||||
<string>HudDemoViewController</string>
|
||||
<string>{{512, 351}, {320, 480}}</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string>{{525, 346}, {320, 480}}</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string>HudDemoAppDelegate</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="unlocalizedProperties">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
</object>
|
||||
<nil key="activeLocalization"/>
|
||||
<object class="NSMutableDictionary" key="localizations">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
</object>
|
||||
<nil key="sourceID"/>
|
||||
<int key="maxID">14</int>
|
||||
</object>
|
||||
<object class="IBClassDescriber" key="IBDocument.Classes">
|
||||
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">HudDemoAppDelegate</string>
|
||||
<string key="superclassName">NSObject</string>
|
||||
<object class="NSMutableDictionary" key="outlets">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSMutableArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>viewController</string>
|
||||
<string>window</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>HudDemoViewController</string>
|
||||
<string>UIWindow</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">Classes/HudDemoAppDelegate.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">HudDemoAppDelegate</string>
|
||||
<string key="superclassName">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBUserSource</string>
|
||||
<string key="minorKey"/>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">HudDemoViewController</string>
|
||||
<string key="superclassName">UIViewController</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">Classes/HudDemoViewController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<int key="IBDocument.localizationMode">0</int>
|
||||
<string key="IBDocument.LastKnownRelativeProjectPath">HudDemo.xcodeproj</string>
|
||||
<int key="IBDocument.defaultPropertyAccessControl">3</int>
|
||||
</data>
|
||||
</archive>
|
||||
@@ -1,17 +0,0 @@
|
||||
//
|
||||
// main.m
|
||||
// HudDemo
|
||||
//
|
||||
// Created by Matej Bukovinski on 2.4.09.
|
||||
// Copyright bukovinski.com 2009. All rights reserved.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
int main(int argc, char *argv[]) {
|
||||
|
||||
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
|
||||
int retVal = UIApplicationMain(argc, argv, nil, nil);
|
||||
[pool release];
|
||||
return retVal;
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>en</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>$(EXECUTABLE_NAME)</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>$(PRODUCT_NAME)</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>FMWK</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>$(MARKETING_VERSION)</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>$(CURRENT_PROJECT_VERSION)</string>
|
||||
<key>NSPrincipalClass</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</plist>
|
||||
@@ -0,0 +1,24 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>en</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>$(EXECUTABLE_NAME)</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>$(PRODUCT_NAME)</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>FMWK</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>$(MARKETING_VERSION)</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>$(CURRENT_PROJECT_VERSION)</string>
|
||||
<key>NSPrincipalClass</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</plist>
|
||||
@@ -0,0 +1,19 @@
|
||||
Copyright © 2009-2020 Matej Bukovinski
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
@@ -0,0 +1,15 @@
|
||||
//
|
||||
// Prefix header for all source files of the 'MBProgressHUD' target in the 'MBProgressHUD' project
|
||||
//
|
||||
|
||||
#import <Availability.h>
|
||||
|
||||
#ifndef __IPHONE_8_0
|
||||
#warning "This project uses features only available in iOS SDK 8.0 and later."
|
||||
#endif
|
||||
|
||||
#ifdef __OBJC__
|
||||
#import <UIKit/UIKit.h>
|
||||
#import <Foundation/Foundation.h>
|
||||
#import <CoreGraphics/CoreGraphics.h>
|
||||
#endif
|
||||
@@ -1,12 +1,12 @@
|
||||
//
|
||||
// MBProgressHUD.h
|
||||
// Version 0.32
|
||||
// Created by Matej Bukovinski on 04.01.10.
|
||||
// Version 1.2.0
|
||||
// Created by Matej Bukovinski on 2.4.09.
|
||||
//
|
||||
|
||||
// This code is distributed under the terms and conditions of the MIT license.
|
||||
// This code is distributed under the terms and conditions of the MIT license.
|
||||
|
||||
// Copyright (c) 2009 Matej Bukovinski
|
||||
// Copyright © 2009-2016 Matej Bukovinski
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
@@ -26,234 +26,386 @@
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
#import <UIKit/UIKit.h>
|
||||
#import <CoreGraphics/CoreGraphics.h>
|
||||
|
||||
/**
|
||||
* MBProgressHUD operation modes.
|
||||
*/
|
||||
typedef enum {
|
||||
/** Progress is shown using an UIActivityIndicatorView. This is the default. */
|
||||
@class MBBackgroundView;
|
||||
@protocol MBProgressHUDDelegate;
|
||||
|
||||
|
||||
extern CGFloat const MBProgressMaxOffset;
|
||||
|
||||
typedef NS_ENUM(NSInteger, MBProgressHUDMode) {
|
||||
/// UIActivityIndicatorView.
|
||||
MBProgressHUDModeIndeterminate,
|
||||
/** Progress is shown using a MBRoundProgressView. */
|
||||
MBProgressHUDModeDeterminate,
|
||||
} MBProgressHUDMode;
|
||||
/// A round, pie-chart like, progress view.
|
||||
MBProgressHUDModeDeterminate,
|
||||
/// Horizontal progress bar.
|
||||
MBProgressHUDModeDeterminateHorizontalBar,
|
||||
/// Ring-shaped progress view.
|
||||
MBProgressHUDModeAnnularDeterminate,
|
||||
/// Shows a custom view.
|
||||
MBProgressHUDModeCustomView,
|
||||
/// Shows only labels.
|
||||
MBProgressHUDModeText
|
||||
};
|
||||
|
||||
typedef NS_ENUM(NSInteger, MBProgressHUDAnimation) {
|
||||
/// Opacity animation
|
||||
MBProgressHUDAnimationFade,
|
||||
/// Opacity + scale animation (zoom in when appearing zoom out when disappearing)
|
||||
MBProgressHUDAnimationZoom,
|
||||
/// Opacity + scale animation (zoom out style)
|
||||
MBProgressHUDAnimationZoomOut,
|
||||
/// Opacity + scale animation (zoom in style)
|
||||
MBProgressHUDAnimationZoomIn
|
||||
};
|
||||
|
||||
typedef NS_ENUM(NSInteger, MBProgressHUDBackgroundStyle) {
|
||||
/// Solid color background
|
||||
MBProgressHUDBackgroundStyleSolidColor,
|
||||
/// UIVisualEffectView or UIToolbar.layer background view
|
||||
MBProgressHUDBackgroundStyleBlur
|
||||
};
|
||||
|
||||
typedef void (^MBProgressHUDCompletionBlock)(void);
|
||||
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
|
||||
/**
|
||||
* Defines callback methods for MBProgressHUD delegates.
|
||||
* Displays a simple HUD window containing a progress indicator and two optional labels for short messages.
|
||||
*
|
||||
* This is a simple drop-in class for displaying a progress HUD view similar to Apple's private UIProgressHUD class.
|
||||
* The MBProgressHUD window spans over the entire space given to it by the initWithFrame: constructor and catches all
|
||||
* user input on this region, thereby preventing the user operations on components below the view.
|
||||
*
|
||||
* @note To still allow touches to pass through the HUD, you can set hud.userInteractionEnabled = NO.
|
||||
* @attention MBProgressHUD is a UI class and should therefore only be accessed on the main thread.
|
||||
*/
|
||||
@protocol MBProgressHUDDelegate <NSObject>
|
||||
|
||||
@required
|
||||
/**
|
||||
* A callback function that is called after the HUD was fully hidden from the screen.
|
||||
*/
|
||||
- (void)hudWasHidden;
|
||||
|
||||
@end
|
||||
|
||||
@interface MBProgressHUD : UIView
|
||||
|
||||
/**
|
||||
* A progress view for showing definite progress by filling up a circle (similar to the indicator for building in xcode).
|
||||
* Creates a new HUD, adds it to provided view and shows it. The counterpart to this method is hideHUDForView:animated:.
|
||||
*
|
||||
* @note This method sets removeFromSuperViewOnHide. The HUD will automatically be removed from the view hierarchy when hidden.
|
||||
*
|
||||
* @param view The view that the HUD will be added to
|
||||
* @param animated If set to YES the HUD will appear using the current animationType. If set to NO the HUD will not use
|
||||
* animations while appearing.
|
||||
* @return A reference to the created HUD.
|
||||
*
|
||||
* @see hideHUDForView:animated:
|
||||
* @see animationType
|
||||
*/
|
||||
@interface MBRoundProgressView : UIProgressView {
|
||||
+ (instancetype)showHUDAddedTo:(UIView *)view animated:(BOOL)animated;
|
||||
|
||||
}
|
||||
/// @name Showing and hiding
|
||||
|
||||
/**
|
||||
* Create a 37 by 37 pixel indicator.
|
||||
* This is the same size as used by the larger UIActivityIndicatorView.
|
||||
*/
|
||||
- (id)initWithDefaultSize;
|
||||
|
||||
@end
|
||||
|
||||
/**
|
||||
* Displays a simple HUD window containing a UIActivityIndicatorView and two optional labels for short messages.
|
||||
* Finds the top-most HUD subview that hasn't finished and hides it. The counterpart to this method is showHUDAddedTo:animated:.
|
||||
*
|
||||
* This is a simple drop-in class for displaying a progress HUD view similar to Apples private UIProgressHUD class.
|
||||
* The MBProgressHUD window spans over the entire space given to it by the initWithFrame constructor and catches all
|
||||
* user input on this region, thereby preventing the user operations on components below the view. The HUD itself is
|
||||
* drawn centered as a rounded semi-transparent view witch resizes depending on the user specified content.
|
||||
* @note This method sets removeFromSuperViewOnHide. The HUD will automatically be removed from the view hierarchy when hidden.
|
||||
*
|
||||
* This view supports three modes of operation:
|
||||
* - The default mode displays just a UIActivityIndicatorView.
|
||||
* - If the labelText property is set and non-empty then a label containing the provided content is placed below the
|
||||
* UIActivityIndicatorView.
|
||||
* - If also the detailsLabelText property is set then another label is placed below the first label.
|
||||
*/
|
||||
@interface MBProgressHUD : UIView {
|
||||
|
||||
MBProgressHUDMode mode;
|
||||
|
||||
SEL methodForExecution;
|
||||
id targetForExecution;
|
||||
id objectForExecution;
|
||||
BOOL useAnimation;
|
||||
|
||||
float yOffset;
|
||||
float xOffset;
|
||||
|
||||
float width;
|
||||
float height;
|
||||
|
||||
BOOL taskInProgress;
|
||||
float graceTime;
|
||||
float minShowTime;
|
||||
NSTimer *graceTimer;
|
||||
NSTimer *minShowTimer;
|
||||
NSDate *showStarted;
|
||||
|
||||
UIView *indicator;
|
||||
UILabel *label;
|
||||
UILabel *detailsLabel;
|
||||
|
||||
float progress;
|
||||
|
||||
id<MBProgressHUDDelegate> delegate;
|
||||
NSString *labelText;
|
||||
NSString *detailsLabelText;
|
||||
float opacity;
|
||||
UIFont *labelFont;
|
||||
UIFont *detailsLabelFont;
|
||||
|
||||
BOOL isFinished;
|
||||
}
|
||||
|
||||
/**
|
||||
* A convenience constructor that initializes the HUD with the window's bounds. Calls the designated constructor with
|
||||
* window.bounds as the parameter.
|
||||
* @param view The view that is going to be searched for a HUD subview.
|
||||
* @param animated If set to YES the HUD will disappear using the current animationType. If set to NO the HUD will not use
|
||||
* animations while disappearing.
|
||||
* @return YES if a HUD was found and removed, NO otherwise.
|
||||
*
|
||||
* @param window The window instance that will provide the bounds for the HUD. Should probably be the same instance as
|
||||
* the HUD's superview (i.e., the window that the HUD will be added to).
|
||||
* @see showHUDAddedTo:animated:
|
||||
* @see animationType
|
||||
*/
|
||||
- (id)initWithWindow:(UIWindow *)window;
|
||||
+ (BOOL)hideHUDForView:(UIView *)view animated:(BOOL)animated;
|
||||
|
||||
/**
|
||||
* Finds the top-most HUD subview that hasn't finished and returns it.
|
||||
*
|
||||
* @param view The view that is going to be searched.
|
||||
* @return A reference to the last HUD subview discovered.
|
||||
*/
|
||||
+ (nullable MBProgressHUD *)HUDForView:(UIView *)view NS_SWIFT_NAME(forView(_:));
|
||||
|
||||
/**
|
||||
* A convenience constructor that initializes the HUD with the view's bounds. Calls the designated constructor with
|
||||
* view.bounds as the parameter
|
||||
*
|
||||
* @param view The view instance that will provide the bounds for the HUD. Should probably be the same instance as
|
||||
* view.bounds as the parameter.
|
||||
*
|
||||
* @param view The view instance that will provide the bounds for the HUD. Should be the same instance as
|
||||
* the HUD's superview (i.e., the view that the HUD will be added to).
|
||||
*/
|
||||
- (id)initWithView:(UIView *)view;
|
||||
|
||||
/**
|
||||
* MBProgressHUD operation mode. Switches between indeterminate (MBProgressHUDModeIndeterminate) and determinate
|
||||
* progress (MBProgressHUDModeDeterminate). The default is MBProgressHUDModeIndeterminate.
|
||||
*/
|
||||
@property (assign) MBProgressHUDMode mode;
|
||||
|
||||
/**
|
||||
* The HUD delegate object. If set the delegate will receive hudWasHidden callbacks when the HUD was hidden. The
|
||||
* delegate should conform to the MBProgressHUDDelegate protocol and implement the hudWasHidden method. The delegate
|
||||
* object will not be retained.
|
||||
*/
|
||||
@property (assign) id<MBProgressHUDDelegate> delegate;
|
||||
|
||||
/**
|
||||
* An optional short message to be displayed below the activity indicator. The HUD is automatically resized to fit
|
||||
* the entire text. If the text is too long it will get clipped by displaying "..." at the end. If left unchanged or
|
||||
* set to @"", then no message is displayed.
|
||||
*/
|
||||
@property (copy) NSString *labelText;
|
||||
|
||||
/**
|
||||
* An optional details message displayed below the labelText message. This message is displayed only if the labelText
|
||||
* property is also set and is different from an empty string (@"").
|
||||
*/
|
||||
@property (copy) NSString *detailsLabelText;
|
||||
|
||||
/**
|
||||
* The opacity of the HUD window. Defaults to 0.9 (90% opacity).
|
||||
*/
|
||||
@property (assign) float opacity;
|
||||
|
||||
/**
|
||||
* The x-axis offset of the HUD relative to the centre of the superview.
|
||||
*/
|
||||
@property (assign) float xOffset;
|
||||
|
||||
/**
|
||||
*The y-ayis offset of the HUD relative to the centre of the superview.
|
||||
*/
|
||||
@property (assign) float yOffset;
|
||||
|
||||
/*
|
||||
* Grace period is the time (in seconds) that the invoked method may be run without
|
||||
* showing the HUD. If the task finishes befor the grace time runs out, the HUD will
|
||||
* not be shown at all.
|
||||
* This may be used to prevent HUD display for very short tasks.
|
||||
* Defaults to 0 (no grace time).
|
||||
* Grace time functionality is only supported when the task status is known!
|
||||
* @see taskInProgress
|
||||
*/
|
||||
@property (assign) float graceTime;
|
||||
|
||||
- (instancetype)initWithView:(UIView *)view;
|
||||
|
||||
/**
|
||||
* The minimum time (in seconds) that the HUD is shown.
|
||||
* Displays the HUD.
|
||||
*
|
||||
* @note You need to make sure that the main thread completes its run loop soon after this method call so that
|
||||
* the user interface can be updated. Call this method when your task is already set up to be executed in a new thread
|
||||
* (e.g., when using something like NSOperation or making an asynchronous call like NSURLRequest).
|
||||
*
|
||||
* @param animated If set to YES the HUD will appear using the current animationType. If set to NO the HUD will not use
|
||||
* animations while appearing.
|
||||
*
|
||||
* @see animationType
|
||||
*/
|
||||
- (void)showAnimated:(BOOL)animated;
|
||||
|
||||
/**
|
||||
* Hides the HUD. This still calls the hudWasHidden: delegate. This is the counterpart of the show: method. Use it to
|
||||
* hide the HUD when your task completes.
|
||||
*
|
||||
* @param animated If set to YES the HUD will disappear using the current animationType. If set to NO the HUD will not use
|
||||
* animations while disappearing.
|
||||
*
|
||||
* @see animationType
|
||||
*/
|
||||
- (void)hideAnimated:(BOOL)animated;
|
||||
|
||||
/**
|
||||
* Hides the HUD after a delay. This still calls the hudWasHidden: delegate. This is the counterpart of the show: method. Use it to
|
||||
* hide the HUD when your task completes.
|
||||
*
|
||||
* @param animated If set to YES the HUD will disappear using the current animationType. If set to NO the HUD will not use
|
||||
* animations while disappearing.
|
||||
* @param delay Delay in seconds until the HUD is hidden.
|
||||
*
|
||||
* @see animationType
|
||||
*/
|
||||
- (void)hideAnimated:(BOOL)animated afterDelay:(NSTimeInterval)delay;
|
||||
|
||||
/**
|
||||
* The HUD delegate object. Receives HUD state notifications.
|
||||
*/
|
||||
@property (weak, nonatomic) id<MBProgressHUDDelegate> delegate;
|
||||
|
||||
/**
|
||||
* Called after the HUD is hidden.
|
||||
*/
|
||||
@property (copy, nullable) MBProgressHUDCompletionBlock completionBlock;
|
||||
|
||||
/**
|
||||
* Grace period is the time (in seconds) that the invoked method may be run without
|
||||
* showing the HUD. If the task finishes before the grace time runs out, the HUD will
|
||||
* not be shown at all.
|
||||
* This may be used to prevent HUD display for very short tasks.
|
||||
* Defaults to 0 (no grace time).
|
||||
* @note The graceTime needs to be set before the hud is shown. You thus can't use `showHUDAddedTo:animated:`,
|
||||
* but instead need to alloc / init the HUD, configure the grace time and than show it manually.
|
||||
*/
|
||||
@property (assign, nonatomic) NSTimeInterval graceTime;
|
||||
|
||||
/**
|
||||
* The minimum time (in seconds) that the HUD is shown.
|
||||
* This avoids the problem of the HUD being shown and than instantly hidden.
|
||||
* Defaults to 0 (no minimum show time).
|
||||
*/
|
||||
@property (assign) float minShowTime;
|
||||
@property (assign, nonatomic) NSTimeInterval minShowTime;
|
||||
|
||||
/**
|
||||
* Indicates that the executed operation is in progress. Needed for correct graceTime operation.
|
||||
* If you don't set a graceTime (different than 0.0) this does nothing.
|
||||
* This property is automatically set when using showWhileExecuting:onTarget:withObject:animated:.
|
||||
* When threading is done outside of the HUD (i.e., when the show: and hide: methods are used directly),
|
||||
* you need to set this property when your task starts and completes in order to have normal graceTime
|
||||
* functunality.
|
||||
* Removes the HUD from its parent view when hidden.
|
||||
* Defaults to NO.
|
||||
*/
|
||||
@property (assign) BOOL taskInProgress;
|
||||
@property (assign, nonatomic) BOOL removeFromSuperViewOnHide;
|
||||
|
||||
/**
|
||||
* Font to be used for the main label. Set this property if the default is not adequate.
|
||||
/// @name Appearance
|
||||
|
||||
/**
|
||||
* MBProgressHUD operation mode. The default is MBProgressHUDModeIndeterminate.
|
||||
*/
|
||||
@property (retain) UIFont* labelFont;
|
||||
@property (assign, nonatomic) MBProgressHUDMode mode;
|
||||
|
||||
/**
|
||||
* Font to be used for the details label. Set this property if the default is not adequate.
|
||||
/**
|
||||
* A color that gets forwarded to all labels and supported indicators. Also sets the tintColor
|
||||
* for custom views on iOS 7+. Set to nil to manage color individually.
|
||||
* Defaults to semi-translucent black on iOS 7 and later and white on earlier iOS versions.
|
||||
*/
|
||||
@property (retain) UIFont* detailsLabelFont;
|
||||
@property (strong, nonatomic, nullable) UIColor *contentColor UI_APPEARANCE_SELECTOR;
|
||||
|
||||
/**
|
||||
* The progress of the progress indicator, from 0.0 to 1.0. Defaults to 0.0.
|
||||
/**
|
||||
* The animation type that should be used when the HUD is shown and hidden.
|
||||
*/
|
||||
@property (assign) float progress;
|
||||
@property (assign, nonatomic) MBProgressHUDAnimation animationType UI_APPEARANCE_SELECTOR;
|
||||
|
||||
/**
|
||||
* Display the HUD. You need to make sure that the main thread completes its run loop soon after this method call so
|
||||
* the user interface can be updated. Call this method when your task is already set-up to be executed in a new thread
|
||||
* (e.g., when using something like NSOperation or calling an asynchronous call like NSUrlRequest).
|
||||
/**
|
||||
* The bezel offset relative to the center of the view. You can use MBProgressMaxOffset
|
||||
* and -MBProgressMaxOffset to move the HUD all the way to the screen edge in each direction.
|
||||
* E.g., CGPointMake(0.f, MBProgressMaxOffset) would position the HUD centered on the bottom edge.
|
||||
*/
|
||||
@property (assign, nonatomic) CGPoint offset UI_APPEARANCE_SELECTOR;
|
||||
|
||||
/**
|
||||
* The amount of space between the HUD edge and the HUD elements (labels, indicators or custom views).
|
||||
* This also represents the minimum bezel distance to the edge of the HUD view.
|
||||
* Defaults to 20.f
|
||||
*/
|
||||
@property (assign, nonatomic) CGFloat margin UI_APPEARANCE_SELECTOR;
|
||||
|
||||
/**
|
||||
* The minimum size of the HUD bezel. Defaults to CGSizeZero (no minimum size).
|
||||
*/
|
||||
@property (assign, nonatomic) CGSize minSize UI_APPEARANCE_SELECTOR;
|
||||
|
||||
/**
|
||||
* Force the HUD dimensions to be equal if possible.
|
||||
*/
|
||||
@property (assign, nonatomic, getter = isSquare) BOOL square UI_APPEARANCE_SELECTOR;
|
||||
|
||||
/**
|
||||
* When enabled, the bezel center gets slightly affected by the device accelerometer data.
|
||||
* Defaults to NO.
|
||||
*
|
||||
* @param animated If set to YES the HUD will appear using a fade animation. If set to NO the HUD will not use
|
||||
* animations while appearing.
|
||||
* @note This can cause main thread checker assertions on certain devices. https://github.com/jdg/MBProgressHUD/issues/552
|
||||
*/
|
||||
- (void)show:(BOOL)animated;
|
||||
@property (assign, nonatomic, getter=areDefaultMotionEffectsEnabled) BOOL defaultMotionEffectsEnabled UI_APPEARANCE_SELECTOR;
|
||||
|
||||
/**
|
||||
* Hide the HUD, this still calls the hudWasHidden delegate. This is the counterpart of the hide: method. Use it to
|
||||
* hide the HUD when your task completes.
|
||||
*
|
||||
* @param animated If set to YES the HUD will disappear using a fade animation. If set to NO the HUD will not use
|
||||
* animations while disappearing.
|
||||
*/
|
||||
- (void)hide:(BOOL)animated;
|
||||
/// @name Progress
|
||||
|
||||
/**
|
||||
* Shows the HUD while a background task is executing in a new thread, then hides the HUD.
|
||||
*
|
||||
* This method also takes care of NSAutoreleasePools so your method does not have to be concerned with setting up a
|
||||
* pool.
|
||||
*
|
||||
* @param method The method to be executed while the HUD is shown. This method will be executed in a new thread.
|
||||
* @param target The object that the target method belongs to.
|
||||
* @param object An optional object to be passed to the method.
|
||||
* @param animated If set to YES the HUD will appear and disappear using a fade animation. If set to NO the HUD will
|
||||
* not use animations while appearing and disappearing.
|
||||
/**
|
||||
* The progress of the progress indicator, from 0.0 to 1.0. Defaults to 0.0.
|
||||
*/
|
||||
- (void)showWhileExecuting:(SEL)method onTarget:(id)target withObject:(id)object animated:(BOOL)animated;
|
||||
@property (assign, nonatomic) float progress;
|
||||
|
||||
/// @name ProgressObject
|
||||
|
||||
/**
|
||||
* The NSProgress object feeding the progress information to the progress indicator.
|
||||
*/
|
||||
@property (strong, nonatomic, nullable) NSProgress *progressObject;
|
||||
|
||||
/// @name Views
|
||||
|
||||
/**
|
||||
* The view containing the labels and indicator (or customView).
|
||||
*/
|
||||
@property (strong, nonatomic, readonly) MBBackgroundView *bezelView;
|
||||
|
||||
/**
|
||||
* View covering the entire HUD area, placed behind bezelView.
|
||||
*/
|
||||
@property (strong, nonatomic, readonly) MBBackgroundView *backgroundView;
|
||||
|
||||
/**
|
||||
* The UIView (e.g., a UIImageView) to be shown when the HUD is in MBProgressHUDModeCustomView.
|
||||
* The view should implement intrinsicContentSize for proper sizing. For best results use approximately 37 by 37 pixels.
|
||||
*/
|
||||
@property (strong, nonatomic, nullable) UIView *customView;
|
||||
|
||||
/**
|
||||
* A label that holds an optional short message to be displayed below the activity indicator. The HUD is automatically resized to fit
|
||||
* the entire text.
|
||||
*/
|
||||
@property (strong, nonatomic, readonly) UILabel *label;
|
||||
|
||||
/**
|
||||
* A label that holds an optional details message displayed below the labelText message. The details text can span multiple lines.
|
||||
*/
|
||||
@property (strong, nonatomic, readonly) UILabel *detailsLabel;
|
||||
|
||||
/**
|
||||
* A button that is placed below the labels. Visible only if a target / action is added and a title is assigned..
|
||||
*/
|
||||
@property (strong, nonatomic, readonly) UIButton *button;
|
||||
|
||||
@end
|
||||
|
||||
|
||||
@protocol MBProgressHUDDelegate <NSObject>
|
||||
|
||||
@optional
|
||||
|
||||
/**
|
||||
* Called after the HUD was fully hidden from the screen.
|
||||
*/
|
||||
- (void)hudWasHidden:(MBProgressHUD *)hud;
|
||||
|
||||
@end
|
||||
|
||||
|
||||
/**
|
||||
* A progress view for showing definite progress by filling up a circle (pie chart).
|
||||
*/
|
||||
@interface MBRoundProgressView : UIView
|
||||
|
||||
/**
|
||||
* Progress (0.0 to 1.0)
|
||||
*/
|
||||
@property (nonatomic, assign) float progress;
|
||||
|
||||
/**
|
||||
* Indicator progress color.
|
||||
* Defaults to white [UIColor whiteColor].
|
||||
*/
|
||||
@property (nonatomic, strong) UIColor *progressTintColor;
|
||||
|
||||
/**
|
||||
* Indicator background (non-progress) color.
|
||||
* Only applicable on iOS versions older than iOS 7.
|
||||
* Defaults to translucent white (alpha 0.1).
|
||||
*/
|
||||
@property (nonatomic, strong) UIColor *backgroundTintColor;
|
||||
|
||||
/*
|
||||
* Display mode - NO = round or YES = annular. Defaults to round.
|
||||
*/
|
||||
@property (nonatomic, assign, getter = isAnnular) BOOL annular;
|
||||
|
||||
@end
|
||||
|
||||
|
||||
/**
|
||||
* A flat bar progress view.
|
||||
*/
|
||||
@interface MBBarProgressView : UIView
|
||||
|
||||
/**
|
||||
* Progress (0.0 to 1.0)
|
||||
*/
|
||||
@property (nonatomic, assign) float progress;
|
||||
|
||||
/**
|
||||
* Bar border line color.
|
||||
* Defaults to white [UIColor whiteColor].
|
||||
*/
|
||||
@property (nonatomic, strong) UIColor *lineColor;
|
||||
|
||||
/**
|
||||
* Bar background color.
|
||||
* Defaults to clear [UIColor clearColor];
|
||||
*/
|
||||
@property (nonatomic, strong) UIColor *progressRemainingColor;
|
||||
|
||||
/**
|
||||
* Bar progress color.
|
||||
* Defaults to white [UIColor whiteColor].
|
||||
*/
|
||||
@property (nonatomic, strong) UIColor *progressColor;
|
||||
|
||||
@end
|
||||
|
||||
|
||||
@interface MBBackgroundView : UIView
|
||||
|
||||
/**
|
||||
* The background style.
|
||||
* Defaults to MBProgressHUDBackgroundStyleBlur.
|
||||
*/
|
||||
@property (nonatomic) MBProgressHUDBackgroundStyle style;
|
||||
|
||||
/**
|
||||
* The blur effect style, when using MBProgressHUDBackgroundStyleBlur.
|
||||
* Defaults to UIBlurEffectStyleLight.
|
||||
*/
|
||||
@property (nonatomic) UIBlurEffectStyle blurEffectStyle;
|
||||
|
||||
/**
|
||||
* The background color or the blur tint color.
|
||||
*
|
||||
* Defaults to nil on iOS 13 and later and
|
||||
* `[UIColor colorWithWhite:0.8f alpha:0.6f]`
|
||||
* on older systems.
|
||||
*/
|
||||
@property (nonatomic, strong, nullable) UIColor *color;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
Pod::Spec.new do |s|
|
||||
s.name = "MBProgressHUD"
|
||||
s.version = "1.2.0"
|
||||
s.summary = "An iOS activity indicator view."
|
||||
s.description = <<-DESC
|
||||
MBProgressHUD is an iOS drop-in class that displays a translucent HUD
|
||||
with an indicator and/or labels while work is being done in a background thread.
|
||||
The HUD is meant as a replacement for the undocumented, private UIKit UIProgressHUD
|
||||
with some additional features.
|
||||
DESC
|
||||
s.homepage = "http://www.bukovinski.com"
|
||||
s.license = { :type => 'MIT', :file => 'LICENSE' }
|
||||
s.author = { 'Matej Bukovinski' => 'matej@bukovinski.com' }
|
||||
s.source = { :git => "https://github.com/matej/MBProgressHUD.git", :tag => s.version.to_s }
|
||||
s.ios.deployment_target = '8.0'
|
||||
s.tvos.deployment_target = '9.0'
|
||||
s.source_files = '*.{h,m}'
|
||||
s.frameworks = "CoreGraphics", "QuartzCore"
|
||||
s.requires_arc = true
|
||||
end
|
||||
@@ -0,0 +1,590 @@
|
||||
// !$*UTF8*$!
|
||||
{
|
||||
archiveVersion = 1;
|
||||
classes = {
|
||||
};
|
||||
objectVersion = 46;
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
1315DD7617804CBC0032507D /* MBProgressHUD.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = D286A7511518C70F00E13FB8 /* MBProgressHUD.h */; };
|
||||
1777D3E71D757B690037C7F1 /* MBProgressHUD.h in Headers */ = {isa = PBXBuildFile; fileRef = D286A7511518C70F00E13FB8 /* MBProgressHUD.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
1777D3E81D757B6E0037C7F1 /* MBProgressHUD.m in Sources */ = {isa = PBXBuildFile; fileRef = D286A7521518C70F00E13FB8 /* MBProgressHUD.m */; };
|
||||
1D104D931ACA371400973364 /* MBProgressHUD.m in Sources */ = {isa = PBXBuildFile; fileRef = D286A7521518C70F00E13FB8 /* MBProgressHUD.m */; };
|
||||
1D104D941ACA373100973364 /* MBProgressHUD.h in Headers */ = {isa = PBXBuildFile; fileRef = D286A7511518C70F00E13FB8 /* MBProgressHUD.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
D286A74D1518C70F00E13FB8 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D286A74C1518C70F00E13FB8 /* Foundation.framework */; };
|
||||
D286A7531518C70F00E13FB8 /* MBProgressHUD.m in Sources */ = {isa = PBXBuildFile; fileRef = D286A7521518C70F00E13FB8 /* MBProgressHUD.m */; };
|
||||
D286A75E1518C89600E13FB8 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D286A75D1518C89600E13FB8 /* UIKit.framework */; };
|
||||
D286A76F1518CAAD00E13FB8 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D286A76E1518CAAD00E13FB8 /* CoreGraphics.framework */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXCopyFilesBuildPhase section */
|
||||
1315DD7517804C970032507D /* CopyFiles */ = {
|
||||
isa = PBXCopyFilesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
dstPath = "include/${PRODUCT_NAME}";
|
||||
dstSubfolderSpec = 16;
|
||||
files = (
|
||||
1315DD7617804CBC0032507D /* MBProgressHUD.h in CopyFiles */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXCopyFilesBuildPhase section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
1315DD73178045000032507D /* MBProgressHUD-Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "MBProgressHUD-Prefix.pch"; sourceTree = SOURCE_ROOT; };
|
||||
1777D3DF1D757AF50037C7F1 /* MBProgressHUD.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = MBProgressHUD.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
1777D3E21D757AF50037C7F1 /* Framework-tvOS-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Framework-tvOS-Info.plist"; sourceTree = SOURCE_ROOT; };
|
||||
1D104D7A1ACA36CC00973364 /* MBProgressHUD.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = MBProgressHUD.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
1D104D951ACA376200973364 /* Framework-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Framework-Info.plist"; sourceTree = SOURCE_ROOT; };
|
||||
D286A7491518C70F00E13FB8 /* libMBProgressHUD.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libMBProgressHUD.a; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
D286A74C1518C70F00E13FB8 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
|
||||
D286A7511518C70F00E13FB8 /* MBProgressHUD.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MBProgressHUD.h; sourceTree = SOURCE_ROOT; };
|
||||
D286A7521518C70F00E13FB8 /* MBProgressHUD.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MBProgressHUD.m; sourceTree = SOURCE_ROOT; };
|
||||
D286A75D1518C89600E13FB8 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
|
||||
D286A76E1518CAAD00E13FB8 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
1777D3DB1D757AF50037C7F1 /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
1D104D761ACA36CC00973364 /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
D286A7461518C70F00E13FB8 /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
D286A75E1518C89600E13FB8 /* UIKit.framework in Frameworks */,
|
||||
D286A74D1518C70F00E13FB8 /* Foundation.framework in Frameworks */,
|
||||
D286A76F1518CAAD00E13FB8 /* CoreGraphics.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXFrameworksBuildPhase section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
1315DD72178044770032507D /* Supporting Files */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1D104D951ACA376200973364 /* Framework-Info.plist */,
|
||||
1777D3E21D757AF50037C7F1 /* Framework-tvOS-Info.plist */,
|
||||
1315DD73178045000032507D /* MBProgressHUD-Prefix.pch */,
|
||||
);
|
||||
name = "Supporting Files";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
D286A73E1518C70E00E13FB8 = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
D286A74E1518C70F00E13FB8 /* MBProgressHUD */,
|
||||
D286A74B1518C70F00E13FB8 /* Frameworks */,
|
||||
D286A74A1518C70F00E13FB8 /* Products */,
|
||||
);
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
D286A74A1518C70F00E13FB8 /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
D286A7491518C70F00E13FB8 /* libMBProgressHUD.a */,
|
||||
1D104D7A1ACA36CC00973364 /* MBProgressHUD.framework */,
|
||||
1777D3DF1D757AF50037C7F1 /* MBProgressHUD.framework */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
D286A74B1518C70F00E13FB8 /* Frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
D286A75D1518C89600E13FB8 /* UIKit.framework */,
|
||||
D286A74C1518C70F00E13FB8 /* Foundation.framework */,
|
||||
D286A76E1518CAAD00E13FB8 /* CoreGraphics.framework */,
|
||||
);
|
||||
name = Frameworks;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
D286A74E1518C70F00E13FB8 /* MBProgressHUD */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
D286A7511518C70F00E13FB8 /* MBProgressHUD.h */,
|
||||
D286A7521518C70F00E13FB8 /* MBProgressHUD.m */,
|
||||
1315DD72178044770032507D /* Supporting Files */,
|
||||
);
|
||||
name = MBProgressHUD;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXHeadersBuildPhase section */
|
||||
1777D3DC1D757AF50037C7F1 /* Headers */ = {
|
||||
isa = PBXHeadersBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
1777D3E71D757B690037C7F1 /* MBProgressHUD.h in Headers */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
1D104D771ACA36CC00973364 /* Headers */ = {
|
||||
isa = PBXHeadersBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
1D104D941ACA373100973364 /* MBProgressHUD.h in Headers */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXHeadersBuildPhase section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
1777D3DE1D757AF50037C7F1 /* MBProgressHUD Framework tvOS */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 1777D3E61D757AF50037C7F1 /* Build configuration list for PBXNativeTarget "MBProgressHUD Framework tvOS" */;
|
||||
buildPhases = (
|
||||
1777D3DA1D757AF50037C7F1 /* Sources */,
|
||||
1777D3DB1D757AF50037C7F1 /* Frameworks */,
|
||||
1777D3DC1D757AF50037C7F1 /* Headers */,
|
||||
1777D3DD1D757AF50037C7F1 /* Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = "MBProgressHUD Framework tvOS";
|
||||
productName = "MBProgressHUD Framework tvOS";
|
||||
productReference = 1777D3DF1D757AF50037C7F1 /* MBProgressHUD.framework */;
|
||||
productType = "com.apple.product-type.framework";
|
||||
};
|
||||
1D104D791ACA36CC00973364 /* MBProgressHUD Framework */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 1D104D8D1ACA36CC00973364 /* Build configuration list for PBXNativeTarget "MBProgressHUD Framework" */;
|
||||
buildPhases = (
|
||||
1D104D751ACA36CC00973364 /* Sources */,
|
||||
1D104D761ACA36CC00973364 /* Frameworks */,
|
||||
1D104D771ACA36CC00973364 /* Headers */,
|
||||
1D104D781ACA36CC00973364 /* Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = "MBProgressHUD Framework";
|
||||
productName = "MBProgressHUD Framework";
|
||||
productReference = 1D104D7A1ACA36CC00973364 /* MBProgressHUD.framework */;
|
||||
productType = "com.apple.product-type.framework";
|
||||
};
|
||||
D286A7481518C70F00E13FB8 /* MBProgressHUD Static Library */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = D286A7561518C70F00E13FB8 /* Build configuration list for PBXNativeTarget "MBProgressHUD Static Library" */;
|
||||
buildPhases = (
|
||||
D286A7451518C70F00E13FB8 /* Sources */,
|
||||
D286A7461518C70F00E13FB8 /* Frameworks */,
|
||||
1315DD7517804C970032507D /* CopyFiles */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = "MBProgressHUD Static Library";
|
||||
productName = MBProgressHUD;
|
||||
productReference = D286A7491518C70F00E13FB8 /* libMBProgressHUD.a */;
|
||||
productType = "com.apple.product-type.library.static";
|
||||
};
|
||||
/* End PBXNativeTarget section */
|
||||
|
||||
/* Begin PBXProject section */
|
||||
D286A7401518C70E00E13FB8 /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
CLASSPREFIX = MB;
|
||||
LastUpgradeCheck = 1120;
|
||||
ORGANIZATIONNAME = "Matej Bukovinski";
|
||||
TargetAttributes = {
|
||||
1777D3DE1D757AF50037C7F1 = {
|
||||
CreatedOnToolsVersion = 8.0;
|
||||
ProvisioningStyle = Automatic;
|
||||
};
|
||||
1D104D791ACA36CC00973364 = {
|
||||
CreatedOnToolsVersion = 6.2;
|
||||
};
|
||||
};
|
||||
};
|
||||
buildConfigurationList = D286A7431518C70E00E13FB8 /* Build configuration list for PBXProject "MBProgressHUD" */;
|
||||
compatibilityVersion = "Xcode 3.2";
|
||||
developmentRegion = en;
|
||||
hasScannedForEncodings = 0;
|
||||
knownRegions = (
|
||||
en,
|
||||
Base,
|
||||
);
|
||||
mainGroup = D286A73E1518C70E00E13FB8;
|
||||
productRefGroup = D286A74A1518C70F00E13FB8 /* Products */;
|
||||
projectDirPath = "";
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
D286A7481518C70F00E13FB8 /* MBProgressHUD Static Library */,
|
||||
1D104D791ACA36CC00973364 /* MBProgressHUD Framework */,
|
||||
1777D3DE1D757AF50037C7F1 /* MBProgressHUD Framework tvOS */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
|
||||
/* Begin PBXResourcesBuildPhase section */
|
||||
1777D3DD1D757AF50037C7F1 /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
1D104D781ACA36CC00973364 /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXResourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXSourcesBuildPhase section */
|
||||
1777D3DA1D757AF50037C7F1 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
1777D3E81D757B6E0037C7F1 /* MBProgressHUD.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
1D104D751ACA36CC00973364 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
1D104D931ACA371400973364 /* MBProgressHUD.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
D286A7451518C70F00E13FB8 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
D286A7531518C70F00E13FB8 /* MBProgressHUD.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
1777D3E41D757AF50037C7F1 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
CLANG_ANALYZER_NONNULL = YES;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
|
||||
CLANG_WARN_INFINITE_RECURSION = YES;
|
||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
CLANG_WARN_SUSPICIOUS_MOVES = YES;
|
||||
CODE_SIGN_IDENTITY = "";
|
||||
CURRENT_PROJECT_VERSION = 1;
|
||||
DEBUG_INFORMATION_FORMAT = dwarf;
|
||||
DEFINES_MODULE = YES;
|
||||
DEVELOPMENT_TEAM = "";
|
||||
DYLIB_COMPATIBILITY_VERSION = 1;
|
||||
DYLIB_CURRENT_VERSION = 1;
|
||||
DYLIB_INSTALL_NAME_BASE = "@rpath";
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||
INFOPLIST_FILE = "Framework-tvOS-Info.plist";
|
||||
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
|
||||
MARKETING_VERSION = 1.2;
|
||||
MTL_ENABLE_DEBUG_INFO = YES;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.matej.MBProgressHUD;
|
||||
PRODUCT_NAME = MBProgressHUD;
|
||||
SDKROOT = appletvos;
|
||||
SKIP_INSTALL = YES;
|
||||
TARGETED_DEVICE_FAMILY = 3;
|
||||
TVOS_DEPLOYMENT_TARGET = 9.0;
|
||||
VERSIONING_SYSTEM = "apple-generic";
|
||||
VERSION_INFO_PREFIX = "";
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
1777D3E51D757AF50037C7F1 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
CLANG_ANALYZER_NONNULL = YES;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
|
||||
CLANG_WARN_INFINITE_RECURSION = YES;
|
||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
CLANG_WARN_SUSPICIOUS_MOVES = YES;
|
||||
CODE_SIGN_IDENTITY = "";
|
||||
COPY_PHASE_STRIP = NO;
|
||||
CURRENT_PROJECT_VERSION = 1;
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
DEFINES_MODULE = YES;
|
||||
DEVELOPMENT_TEAM = "";
|
||||
DYLIB_COMPATIBILITY_VERSION = 1;
|
||||
DYLIB_CURRENT_VERSION = 1;
|
||||
DYLIB_INSTALL_NAME_BASE = "@rpath";
|
||||
ENABLE_NS_ASSERTIONS = NO;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||
INFOPLIST_FILE = "Framework-tvOS-Info.plist";
|
||||
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
|
||||
MARKETING_VERSION = 1.2;
|
||||
MTL_ENABLE_DEBUG_INFO = NO;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.matej.MBProgressHUD;
|
||||
PRODUCT_NAME = MBProgressHUD;
|
||||
SDKROOT = appletvos;
|
||||
SKIP_INSTALL = YES;
|
||||
TARGETED_DEVICE_FAMILY = 3;
|
||||
TVOS_DEPLOYMENT_TARGET = 9.0;
|
||||
VERSIONING_SYSTEM = "apple-generic";
|
||||
VERSION_INFO_PREFIX = "";
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
1D104D8E1ACA36CC00973364 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
APPLICATION_EXTENSION_API_ONLY = YES;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CLANG_ENABLE_OBJC_ARC = YES;
|
||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
|
||||
CURRENT_PROJECT_VERSION = 1;
|
||||
DEFINES_MODULE = YES;
|
||||
DEVELOPMENT_TEAM = "";
|
||||
DYLIB_COMPATIBILITY_VERSION = 1;
|
||||
DYLIB_CURRENT_VERSION = 1;
|
||||
DYLIB_INSTALL_NAME_BASE = "@rpath";
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"DEBUG=1",
|
||||
"$(inherited)",
|
||||
);
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||
INFOPLIST_FILE = "Framework-Info.plist";
|
||||
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
|
||||
MARKETING_VERSION = 1.2;
|
||||
MTL_ENABLE_DEBUG_INFO = YES;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "com.matej.$(PRODUCT_NAME:rfc1034identifier)";
|
||||
PRODUCT_NAME = MBProgressHUD;
|
||||
SKIP_INSTALL = YES;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
VERSIONING_SYSTEM = "apple-generic";
|
||||
VERSION_INFO_PREFIX = "";
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
1D104D8F1ACA36CC00973364 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
APPLICATION_EXTENSION_API_ONLY = YES;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CLANG_ENABLE_OBJC_ARC = YES;
|
||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
|
||||
COPY_PHASE_STRIP = NO;
|
||||
CURRENT_PROJECT_VERSION = 1;
|
||||
DEFINES_MODULE = YES;
|
||||
DEVELOPMENT_TEAM = "";
|
||||
DYLIB_COMPATIBILITY_VERSION = 1;
|
||||
DYLIB_CURRENT_VERSION = 1;
|
||||
DYLIB_INSTALL_NAME_BASE = "@rpath";
|
||||
ENABLE_NS_ASSERTIONS = NO;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||
INFOPLIST_FILE = "Framework-Info.plist";
|
||||
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
|
||||
MARKETING_VERSION = 1.2;
|
||||
MTL_ENABLE_DEBUG_INFO = NO;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "com.matej.$(PRODUCT_NAME:rfc1034identifier)";
|
||||
PRODUCT_NAME = MBProgressHUD;
|
||||
SKIP_INSTALL = YES;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
VERSIONING_SYSTEM = "apple-generic";
|
||||
VERSION_INFO_PREFIX = "";
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
D286A7541518C70F00E13FB8 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
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_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
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_IMPLICIT_RETAIN_SELF = YES;
|
||||
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
||||
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;
|
||||
COPY_PHASE_STRIP = NO;
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
ENABLE_TESTABILITY = YES;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu99;
|
||||
GCC_DYNAMIC_NO_PIC = NO;
|
||||
GCC_NO_COMMON_BLOCKS = YES;
|
||||
GCC_OPTIMIZATION_LEVEL = 0;
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"DEBUG=1",
|
||||
"$(inherited)",
|
||||
);
|
||||
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
|
||||
GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
SDKROOT = iphoneos;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
D286A7551518C70F00E13FB8 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
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_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
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_IMPLICIT_RETAIN_SELF = YES;
|
||||
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
||||
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;
|
||||
COPY_PHASE_STRIP = YES;
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu99;
|
||||
GCC_NO_COMMON_BLOCKS = YES;
|
||||
GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
|
||||
SDKROOT = iphoneos;
|
||||
VALIDATE_PRODUCT = YES;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
D286A7571518C70F00E13FB8 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
DSTROOT = /tmp/MBProgressHUD.dst;
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = "MBProgressHUD-Prefix.pch";
|
||||
OTHER_LDFLAGS = "-ObjC";
|
||||
PRODUCT_NAME = MBProgressHUD;
|
||||
SKIP_INSTALL = YES;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
D286A7581518C70F00E13FB8 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
DSTROOT = /tmp/MBProgressHUD.dst;
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = "MBProgressHUD-Prefix.pch";
|
||||
OTHER_LDFLAGS = "-ObjC";
|
||||
PRODUCT_NAME = MBProgressHUD;
|
||||
SKIP_INSTALL = YES;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
/* End XCBuildConfiguration section */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
1777D3E61D757AF50037C7F1 /* Build configuration list for PBXNativeTarget "MBProgressHUD Framework tvOS" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
1777D3E41D757AF50037C7F1 /* Debug */,
|
||||
1777D3E51D757AF50037C7F1 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
1D104D8D1ACA36CC00973364 /* Build configuration list for PBXNativeTarget "MBProgressHUD Framework" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
1D104D8E1ACA36CC00973364 /* Debug */,
|
||||
1D104D8F1ACA36CC00973364 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
D286A7431518C70E00E13FB8 /* Build configuration list for PBXProject "MBProgressHUD" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
D286A7541518C70F00E13FB8 /* Debug */,
|
||||
D286A7551518C70F00E13FB8 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
D286A7561518C70F00E13FB8 /* Build configuration list for PBXNativeTarget "MBProgressHUD Static Library" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
D286A7571518C70F00E13FB8 /* Debug */,
|
||||
D286A7581518C70F00E13FB8 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
rootObject = D286A7401518C70E00E13FB8 /* Project object */;
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Workspace
|
||||
version = "1.0">
|
||||
<FileRef
|
||||
location = "self:MBProgressHUD.xcodeproj">
|
||||
</FileRef>
|
||||
</Workspace>
|
||||
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>IDEDidComputeMac32BitWarning</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</plist>
|
||||
@@ -0,0 +1,76 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "1120"
|
||||
version = "1.3">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "YES">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "1777D3DE1D757AF50037C7F1"
|
||||
BuildableName = "MBProgressHUD.framework"
|
||||
BlueprintName = "MBProgressHUD Framework tvOS"
|
||||
ReferencedContainer = "container:MBProgressHUD.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
||||
<Testables>
|
||||
</Testables>
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
launchStyle = "0"
|
||||
useCustomWorkingDirectory = "NO"
|
||||
ignoresPersistentStateOnLaunch = "NO"
|
||||
debugDocumentVersioning = "YES"
|
||||
debugServiceExtension = "internal"
|
||||
allowLocationSimulation = "YES">
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "1777D3DE1D757AF50037C7F1"
|
||||
BuildableName = "MBProgressHUD.framework"
|
||||
BlueprintName = "MBProgressHUD Framework tvOS"
|
||||
ReferencedContainer = "container:MBProgressHUD.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
buildConfiguration = "Release"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
savedToolIdentifier = ""
|
||||
useCustomWorkingDirectory = "NO"
|
||||
debugDocumentVersioning = "YES">
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "1777D3DE1D757AF50037C7F1"
|
||||
BuildableName = "MBProgressHUD.framework"
|
||||
BlueprintName = "MBProgressHUD Framework tvOS"
|
||||
ReferencedContainer = "container:MBProgressHUD.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
</ProfileAction>
|
||||
<AnalyzeAction
|
||||
buildConfiguration = "Debug">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Release"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
||||