teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

3

質問の編集

2021/09/19 13:05

投稿

akisan55
akisan55

スコア49

title CHANGED
File without changes
body CHANGED
@@ -3,90 +3,33 @@
3
3
 
4
4
  Kivy-iOSをインストールしようとしているのですが、途中でエラーが出てしまいます。
5
5
  ```
6
- #字数制限のために省略
7
-  新しくエラーが出てしまいました。
8
- ```
9
- エラーの原因がわかる方がいれば、ご教授願います。
10
- また、インストール方法に誤りがあるなら、別のインストール方法を教えていただけると助かります。
11
- ###新しく出たエラー
12
- ```
13
- 省略
14
- ```
15
- freetypeはinstallできました。有難うございます。
16
- ###新しく出たエラー2
17
- ```
18
6
  Traceback (most recent call last):
19
- File "/Users/.../Documents/iOS/Kivy-project/iOS-proj/bin/toolchain", line 11, in <module>
7
+ File "/Users/.../Desktop/tom/kivy-ios/toolchain.py", line 4, in <module>
20
- sys.exit(main())
8
+ main()
21
- File "/Users/.../Documents/iOS/Kivy-project/iOS-proj/lib/python3.6/site-packages/kivy_ios/toolchain.py", line 1519, in main
9
+ File "/Users/.../Desktop/tom/kivy-ios/kivy_ios/toolchain.py", line 1536, in main
22
10
  ToolchainCL()
23
- File "/Users/.../Documents/iOS/Kivy-project/iOS-proj/lib/python3.6/site-packages/kivy_ios/toolchain.py", line 1276, in __init__
11
+ File "/Users/.../Desktop/tom/kivy-ios/kivy_ios/toolchain.py", line 1293, in __init__
24
12
  getattr(self, args.command)()
25
- File "/Users/.../Documents/iOS/Kivy-project/iOS-proj/lib/python3.6/site-packages/kivy_ios/toolchain.py", line 1337, in build
13
+ File "/Users/.../Desktop/tom/kivy-ios/kivy_ios/toolchain.py", line 1354, in build
26
14
  build_recipes(args.recipe, ctx)
27
- File "/Users/.../Documents/iOS/Kivy-project/iOS-proj/lib/python3.6/site-packages/kivy_ios/toolchain.py", line 1127, in build_recipes
15
+ File "/Users/.../Desktop/tom/kivy-ios/kivy_ios/toolchain.py", line 1136, in build_recipes
28
16
  recipe.execute()
29
- File "/Users/.../Documents/iOS/Kivy-project/iOS-proj/lib/python3.6/site-packages/kivy_ios/toolchain.py", line 697, in execute
17
+ File "/Users/.../Desktop/tom/kivy-ios/kivy_ios/toolchain.py", line 701, in execute
30
- self.download()
18
+ self.extract()
31
- File "/Users/.../Documents/iOS/Kivy-project/iOS-proj/lib/python3.6/site-packages/kivy_ios/toolchain.py", line 73, in _cache_execution
19
+ File "/Users/.../Desktop/tom/kivy-ios/kivy_ios/toolchain.py", line 73, in _cache_execution
32
20
  f(self, *args, **kwargs)
33
- File "/Users/.../Documents/iOS/Kivy-project/iOS-proj/lib/python3.6/site-packages/kivy_ios/toolchain.py", line 732, in download
21
+ File "/Users/.../Desktop/tom/kivy-ios/kivy_ios/toolchain.py", line 746, in extract
34
- self.download_file(self.url.format(version=self.version), fn)
22
+ self.extract_arch(arch.arch)
35
- File "/Users/.../Documents/iOS/Kivy-project/iOS-proj/lib/python3.6/site-packages/kivy_ios/toolchain.py", line 473, in download_file
23
+ File "/Users/.../Desktop/tom/kivy-ios/kivy_ios/toolchain.py", line 750, in extract_arch
36
- urlretrieve(url, filename, report_hook)
24
+ dest_dir = join(build_dir, self.archive_root)
37
- File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py", line 1791, in retrieve
38
- fp = self.open(url, data)
39
- File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py", line 1763, in open
40
- raise OSError('socket error', msg).with_traceback(sys.exc_info()[2])
41
- File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py", line 1757, in open
42
- return getattr(self, name)(url)
43
- File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py", line 1936, in open_http
44
- return self._open_generic_http(http.client.HTTPConnection, url, data)
45
- File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py", line 1932, in _open_generic_http
46
- response.status, response.reason, response.msg, data)
47
- File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py", line 1948, in http_error
48
- result = method(url, fp, errcode, errmsg, headers)
49
- File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py", line 2171, in http_error_301
50
- return self.http_error_302(url, fp, errcode, errmsg, headers, data)
51
- File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py", line 2136, in http_error_302
52
- headers, data)
53
- File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py", line 2167, in redirect_internal
54
- return self.open(newurl)
55
- File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py", line 1763, in open
56
- raise OSError('socket error', msg).with_traceback(sys.exc_info()[2])
57
- File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py", line 1757, in open
58
- return getattr(self, name)(url)
59
- File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py", line 1967, in open_https
60
- return self._open_generic_http(self._https_connection, url, data)
61
- File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py", line 1916, in _open_generic_http
62
- http_conn.request("GET", selector, headers=headers)
63
- File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 1239, in request
64
- self._send_request(method, url, body, headers, encode_chunked)
65
- File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 1285, in _send_request
66
- self.endheaders(body, encode_chunked=encode_chunked)
67
- File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 1234, in endheaders
68
- self._send_output(message_body, encode_chunked=encode_chunked)
69
- File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 1026, in _send_output
70
- self.send(msg)
71
- File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 964, in send
72
- self.connect()
73
- File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 1400, in connect
74
- server_hostname=server_hostname)
75
- File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/ssl.py", line 407, in wrap_socket
76
- _context=self, _session=session)
77
- File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/ssl.py", line 817, in __init__
25
+ File "/usr/local/.../python@3.9/3.9.6/Frameworks/Python.framework/Versions/3.9/lib/python3.9/posixpath.py", line 90, in join
78
- self.do_handshake()
26
+ genericpath._check_arg_types('join', a, *p)
79
- File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/ssl.py", line 1077, in do_handshake
27
+ File "/usr/local/.../python@3.9/3.9.6/Frameworks/Python.framework/Versions/3.9/lib/python3.9/genericpath.py", line 152, in _check_arg_types
80
- self._sslobj.do_handshake()
81
- File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/ssl.py", line 689, in do_handshake
28
+ raise TypeError(f'{funcname}() argument must be str, bytes, or '
82
- self._sslobj.do_handshake()
83
- OSError: [Errno socket error] [Errno socket error] [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:847)
29
+ TypeError: join() argument must be str, bytes, or os.PathLike object, not 'NoneType'
84
30
  ```
85
- もしや、sslのパスが通っていないのでは?と思い、以下のコードを実行しましたが、現状は変わりませんでした。
86
- ```
87
- export SSL_CERT_FILE=/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.6/site-packages/certifi/cacert.pem
88
- ```
89
- すみませんが、よろしくお願います。
31
+ エラーの原因わかる方がいればご教授願います。
32
+ また、インストール方法に誤りがあるなら、別のインストール方法を教えていただけると助かります。
90
33
  ###環境
91
34
  python3.6.7 venv仮想環境 iOS-proj
92
35
  Xcode 12

2

エラー内容追記、環境追記、補足事項3追加

2021/09/19 13:05

投稿

akisan55
akisan55

スコア49

title CHANGED
File without changes
body CHANGED
@@ -10,38 +10,11 @@
10
10
  また、インストール方法に誤りがあるなら、別のインストール方法を教えていただけると助かります。
11
11
  ###新しく出たエラー
12
12
  ```
13
- [INFO ] Building with 8 processes, where supported
14
- [INFO ] Want to build ['python3', 'kivy']
15
- [INFO ] Loaded recipe python3 (depends of ['hostpython3', 'libffi', 'openssl'], optional are [])
16
- [INFO ] Loaded recipe kivy (depends of ['sdl2', 'sdl2_image', 'sdl2_mixer', 'sdl2_ttf', 'ios', 'pyobjus', 'python', 'host_setuptools3'], optional are [])
17
- [INFO ] Loaded recipe hostpython3 (depends of ['hostlibffi', 'hostopenssl'], optional are [])
18
- [INFO ] Loaded recipe libffi (depends of [], optional are [])
19
- [INFO ] Loaded recipe openssl (depends of [], optional are [])
20
- [INFO ] Loaded recipe sdl2 (depends of [], optional are [])
21
- [INFO ] Loaded recipe sdl2_image (depends of ['sdl2'], optional are [])
22
- [INFO ] Loaded recipe sdl2_mixer (depends of ['sdl2'], optional are [])
23
- [INFO ] Loaded recipe sdl2_ttf (depends of ['sdl2', 'freetype'], optional are [])
24
- [INFO ] Loaded recipe ios (depends of ['python'], optional are [])
25
- [INFO ] Loaded recipe pyobjus (depends of ['python'], optional are [])
26
- [INFO ] Loaded recipe python (depends of ['python3'], optional are [])
27
- [INFO ] Loaded recipe host_setuptools3 (depends of ['openssl', 'hostpython3', 'python3'], optional are [])
28
- [INFO ] Loaded recipe hostlibffi (depends of [], optional are [])
29
- [INFO ] Loaded recipe hostopenssl (depends of [], optional are [])
30
- [INFO ] Loaded recipe freetype (depends of [], optional are [])
31
- [INFO ] Build order is ['freetype', 'hostlibffi', 'hostopenssl', 'libffi', 'openssl', 'sdl2', 'hostpython3', 'sdl2_image', 'sdl2_mixer', 'sdl2_ttf', 'python3', 'host_setuptools3', 'python', 'ios', 'pyobjus', 'kivy']
32
- [INFO ] Recipe order is ['freetype', 'hostlibffi', 'hostopenssl', 'libffi', 'openssl', 'sdl2', 'hostpython3', 'sdl2_image', 'sdl2_mixer', 'sdl2_ttf', 'python3', 'host_setuptools3', 'ios', 'pyobjus', 'kivy']
33
- [INFO ] Include dir added: {arch.arch}/freetype
34
- [INFO ] Include dir added: {arch.arch}/hostlibffi
35
- [INFO ] Include dir added: {arch.arch}/ffi
36
- [INFO ] Include dir added: {arch.arch}/openssl
37
- [INFO ] Include dir added: common/sdl2
38
- [INFO ] Global: hostpython located at /Users/.../Documents/iOS/Kivy-project/dist/hostpython3/bin/python
39
- [INFO ] Global: hostpgen located at /Users/.../Documents/iOS/Kivy-project/dist/hostpython3/bin/pgen
40
- [INFO ] Include dir added: common/sdl2_image
41
- [INFO ] Include dir added: common/sdl2_mixer
42
- [INFO ] Include dir added: common/sdl2_ttf
43
- [INFO ] Download freetype
44
- [INFO ] Downloading http://download.savannah.gnu.org/releases/freetype/freetype-2.5.5.tar.bz2
13
+ 省略
14
+ ```
15
+ freetypeはinstallできました。有難うございます。
16
+ ###新しく出たエラー2
17
+ ```
45
18
  Traceback (most recent call last):
46
19
  File "/Users/.../Documents/iOS/Kivy-project/iOS-proj/bin/toolchain", line 11, in <module>
47
20
  sys.exit(main())
@@ -61,15 +34,61 @@
61
34
  self.download_file(self.url.format(version=self.version), fn)
62
35
  File "/Users/.../Documents/iOS/Kivy-project/iOS-proj/lib/python3.6/site-packages/kivy_ios/toolchain.py", line 473, in download_file
63
36
  urlretrieve(url, filename, report_hook)
64
- File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py", line 1819, in retrieve
37
+ File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py", line 1791, in retrieve
38
+ fp = self.open(url, data)
39
+ File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py", line 1763, in open
40
+ raise OSError('socket error', msg).with_traceback(sys.exc_info()[2])
41
+ File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py", line 1757, in open
42
+ return getattr(self, name)(url)
43
+ File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py", line 1936, in open_http
44
+ return self._open_generic_http(http.client.HTTPConnection, url, data)
45
+ File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py", line 1932, in _open_generic_http
46
+ response.status, response.reason, response.msg, data)
47
+ File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py", line 1948, in http_error
48
+ result = method(url, fp, errcode, errmsg, headers)
49
+ File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py", line 2171, in http_error_301
50
+ return self.http_error_302(url, fp, errcode, errmsg, headers, data)
51
+ File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py", line 2136, in http_error_302
52
+ headers, data)
53
+ File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py", line 2167, in redirect_internal
54
+ return self.open(newurl)
55
+ File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py", line 1763, in open
56
+ raise OSError('socket error', msg).with_traceback(sys.exc_info()[2])
57
+ File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py", line 1757, in open
58
+ return getattr(self, name)(url)
59
+ File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py", line 1967, in open_https
60
+ return self._open_generic_http(self._https_connection, url, data)
61
+ File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py", line 1916, in _open_generic_http
62
+ http_conn.request("GET", selector, headers=headers)
63
+ File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 1239, in request
64
+ self._send_request(method, url, body, headers, encode_chunked)
65
+ File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 1285, in _send_request
66
+ self.endheaders(body, encode_chunked=encode_chunked)
67
+ File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 1234, in endheaders
68
+ self._send_output(message_body, encode_chunked=encode_chunked)
69
+ File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 1026, in _send_output
65
- block = fp.read(bs)
70
+ self.send(msg)
71
+ File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 964, in send
72
+ self.connect()
73
+ File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 1400, in connect
74
+ server_hostname=server_hostname)
66
- File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/tempfile.py", line 485, in func_wrapper
75
+ File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/ssl.py", line 407, in wrap_socket
76
+ _context=self, _session=session)
77
+ File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/ssl.py", line 817, in __init__
78
+ self.do_handshake()
79
+ File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/ssl.py", line 1077, in do_handshake
67
- return func(*args, **kwargs)
80
+ self._sslobj.do_handshake()
81
+ File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/ssl.py", line 689, in do_handshake
68
- ValueError: read of closed file
82
+ self._sslobj.do_handshake()
83
+ OSError: [Errno socket error] [Errno socket error] [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:847)
69
84
  ```
85
+ もしや、sslのパスが通っていないのでは?と思い、以下のコードを実行しましたが、現状は変わりませんでした。
86
+ ```
87
+ export SSL_CERT_FILE=/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.6/site-packages/certifi/cacert.pem
88
+ ```
70
89
  すみませんが、よろしくお願いします。
71
90
  ###環境
72
- python3.6.7 venv仮想環境
91
+ python3.6.7 venv仮想環境 iOS-proj
73
92
  Xcode 12
74
93
  ###補足事項
75
94
  他にも、エラーが出た部分はありましたが、一旦スキップしました。
@@ -92,6 +111,10 @@
92
111
 
93
112
  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator14.5.sdk
94
113
  ```
114
+ ###補足事項3
115
+ ```
116
+ $python-m vent iOS-proj
117
+ ```
95
118
  ###引用部分
96
119
  > kivy-iosの導入については下記githubを参考にしています。
97
120
  https://github.com/kivy/kivy-ios

1

新しく出たエラー追記

2021/09/19 00:23

投稿

akisan55
akisan55

スコア49

title CHANGED
File without changes
body CHANGED
@@ -3,8 +3,13 @@
3
3
 
4
4
  Kivy-iOSをインストールしようとしているのですが、途中でエラーが出てしまいます。
5
5
  ```
6
+ #字数制限のために省略
7
+  新しくエラーが出てしまいました。
8
+ ```
6
- $toolchain build kivy
9
+ エラーの原因がわかる方がいれば、ご教授願います。
7
-
10
+ また、インストール方法に誤りがあるなら、別のインストール方法を教えていただけると助かります。
11
+ ###新しく出たエラー
12
+ ```
8
13
  [INFO ] Building with 8 processes, where supported
9
14
  [INFO ] Want to build ['python3', 'kivy']
10
15
  [INFO ] Loaded recipe python3 (depends of ['hostpython3', 'libffi', 'openssl'], optional are [])
@@ -35,12 +40,8 @@
35
40
  [INFO ] Include dir added: common/sdl2_image
36
41
  [INFO ] Include dir added: common/sdl2_mixer
37
42
  [INFO ] Include dir added: common/sdl2_ttf
38
- [DEBUG ] Cached result: Download freetype. Ignoring
39
- [INFO ] Extract freetype
43
+ [INFO ] Download freetype
40
- [INFO ] Extract freetype for x86_64
41
- [WARNING ] Error extracting the archive /Users/.../Documents/iOS/Kivy-project/.cache/freetype-freetype-2.5.5.tar.bz2
42
- [WARNING ] This is usually caused by a corrupt download. The file will be removed and re-downloaded on the next run.
43
- [WARNING ] /Users/.../Documents/iOS/Kivy-project/.cache/freetype-freetype-2.5.5.tar.bz2
44
+ [INFO ] Downloading http://download.savannah.gnu.org/releases/freetype/freetype-2.5.5.tar.bz2
44
45
  Traceback (most recent call last):
45
46
  File "/Users/.../Documents/iOS/Kivy-project/iOS-proj/bin/toolchain", line 11, in <module>
46
47
  sys.exit(main())
@@ -52,22 +53,21 @@
52
53
  build_recipes(args.recipe, ctx)
53
54
  File "/Users/.../Documents/iOS/Kivy-project/iOS-proj/lib/python3.6/site-packages/kivy_ios/toolchain.py", line 1127, in build_recipes
54
55
  recipe.execute()
55
- File "/Users/.../Documents/iOS/Kivy-project/iOS-proj/lib/python3.6/site-packages/kivy_ios/toolchain.py", line 698, in execute
56
+ File "/Users/.../Documents/iOS/Kivy-project/iOS-proj/lib/python3.6/site-packages/kivy_ios/toolchain.py", line 697, in execute
56
- self.extract()
57
+ self.download()
57
58
  File "/Users/.../Documents/iOS/Kivy-project/iOS-proj/lib/python3.6/site-packages/kivy_ios/toolchain.py", line 73, in _cache_execution
58
59
  f(self, *args, **kwargs)
59
- File "/Users/.../Documents/iOS/Kivy-project/iOS-proj/lib/python3.6/site-packages/kivy_ios/toolchain.py", line 742, in extract
60
+ File "/Users/.../Documents/iOS/Kivy-project/iOS-proj/lib/python3.6/site-packages/kivy_ios/toolchain.py", line 732, in download
60
- self.extract_arch(arch.arch)
61
+ self.download_file(self.url.format(version=self.version), fn)
61
- File "/Users/.../Documents/iOS/Kivy-project/iOS-proj/lib/python3.6/site-packages/kivy_ios/toolchain.py", line 746, in extract_arch
62
+ File "/Users/.../Documents/iOS/Kivy-project/iOS-proj/lib/python3.6/site-packages/kivy_ios/toolchain.py", line 473, in download_file
62
- dest_dir = join(build_dir, self.archive_root)
63
+ urlretrieve(url, filename, report_hook)
63
- File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/posixpath.py", line 94, in join
64
+ File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py", line 1819, in retrieve
64
- genericpath._check_arg_types('join', a, *p)
65
+ block = fp.read(bs)
65
- File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/genericpath.py", line 149, in _check_arg_types
66
+ File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/tempfile.py", line 485, in func_wrapper
67
+ return func(*args, **kwargs)
66
- (funcname, s.__class__.__name__)) from None
68
+ ValueError: read of closed file
67
- TypeError: join() argument must be str or bytes, not 'NoneType'
68
69
  ```
69
- エラーの原因わかる方がいればご教授願います。
70
+ すみませんが、よろしくお願います。
70
- また、インストール方法に誤りがあるなら、別のインストール方法を教えていただけると助かります。
71
71
  ###環境
72
72
  python3.6.7 venv仮想環境
73
73
  Xcode 12